-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Substance Hub Specs #1
Comments
Ideas straight out of my mind. FunctionalID creationIdentification should be made by the hubs which the client connected to. In the first project iteration you expressed the desire to have multiple hubs, a git like distribution, if I'm not wrong. That means also the there should some kind of protocol to transmit documents and histories, so the private development of Substance Hub will not hurt future Open Source solutions for that. If this is still the case, there should be a Client ID, for local work, and a Server ID, one per hub, IMHO. Even without the multiple hub thing, we should evaluate collision problems. Should the client only use a local identifier? HistoryI'm simply unsure, is it going to store the whole OT history or just snapshots? PGSQLPostgres is perfect, I love it (while not expert). I'm going to do some research on it, but should we use the JSON data type? Looks promising to me. If someone here knows something about it please let me know, so I can make up my mind faster. RenderingPandoc? JS only? DevelopmentI use to write CSS in |
Ad ID Creation: Collisions should be very rare. as the clients generate unique ids just like Git does it. It would be a good idea to check for existing guids on the server, just to ensure we're not overwriting a previously published doc. History: The most important thing we need for the new Substance release is a way to simply publish snapshots. Once we have that thinking about ways to distribute the whole history makes sense (also with respect to collaborative editing, which is not supported yet). PGSQL: Yeah, have a look at it, definitely. I'm not sure if Rendering: I think we should integrate Letterpress (using Pandoc) later, and start with a simple HTML-Renderer for the hub. |
Oh and regarding IDs: Once we have the authentication system and networks setup we can make documents available by username/docname or networkname/docname. |
About IDs: that's true! About PG's JSON: looks like it's just a different semantic for TEXT, so when you export a row as JSON it's not converted to a string, but it's interpreted as a JSON object. http://blog.redfin.com/devblog/2012/03/json_in_postgres.html This article is old, but they did it without the offical support so... |
Nice. Give it a shot. I mean.. it's not a big deal if we use just the TEXT for now and do the serialization/deserialization ourselves (if this saves you some time). Thaanks! :) |
This night I'll push some code. Once you guys give me directions and approve a milestone we can put on a working Heroku app or similar to start some real tests. Goals:
Next step:
|
That is great news @yuchi !! I'm really looking forward to see the hub progressing! |
Sorry, didn't do in time. I'll push things tomorrow. Edit: did -> do |
Sounds good. Took some time off yesterday but I'm back in business.. :) Do we really need OAuth at this stage? username+password (over ssl) should do it for now? |
Seemed like a good idea at the moment :) I usually don't like the client to send authentication every request, nor using cookies and persistent connections. Now that I think of it, we could also work with RSA and public keys... BTW: the most important thing is to put up the structure and let you guys do some work to store the docs and authenticate, for the next auth processes I'll wait for your needs then. |
Yeah, I'm ready to publish some documents here. :) Just let me know how to auth against the hub. Again, we can add a security as we go. I just can't wait to test the whole workflow. ;) |
push! push! push! push! :) |
Hi all! |
Passport is the way to go. If we choose to implement OAuth as providers then we can drop in https://github.com/jaredhanson/passport-http-oauth |
👍 (thanks @Integral ) |
It's my pleasure! UPD: Just found this https://developers.google.com/accounts/docs/OAuthForInstalledApps Anyway, I think we need to think ahead with keeping in mind local app authentication capabilities. |
In fact! Sorry for the delay, actually I thought I had almost everything ready to be delivered here, I just needed to wire things up. Actually I realized I had nothing ready: pgsql not always correctly connected (ident auth), promises api wrapper I built aroung node-postgres pretty useless, hand made authentication which could be a pain to maintain and extend, and a simply wrong API to store documents. Once I have at least the boiler plate structure for authentication and api in place I swear I'll push it :) BTW passport is very easy to plug in. |
Sorry, just read about JSON in postgres. Note that the JSON datatype is in pgSQL out of the box from september. |
Can't wait. :) |
Btw: Did you guys see the updated composer? http://interior.substance.io/substance |
Hey @yuchi. Just got back from London. Let's sync up regarding the hub some time next week. Oliver and me are working on backend integration for the coming two weeks. Once we have that stable, we should really look into implementing a simple publishing workflow using the hub. Talk soon! -- Michael |
yay! welcome back @michael ! |
@yuchi? Pls ping us if u're still alive. :) |
Here I am! Let's schedule a team skype talk this week. Tuesday and Thursday I'm free very late (11 PM CET), today and Wednesday and Friday from 8 PM CET. |
Hey! :) Team Skype sounds good. Today/Tomorrow I'm busy in the evening. But Wednesday/Friday would work for me. @vectorsize @oliver---- Just a quick update. We almost have a functional build of the native substance app. So the coming weeks would be perfect for connecting a hub to it. ;) In order to have a look at the app you need to build it yourself for now (see instructions here: http://interior.substance.io/modules/substance.html), but we're close to shipping it as a ready-to-use package for OSX. Probably later this week. Also we launched our campaign, and we have one confirmed sponsor already (donation not yet captured at the campaign). See here: http://pledgie.com/campaigns/18902 |
Allright...Im kindof flexible this week, wednesday might be a bit more complicated during the day but after 8 should be fine :) |
I can reach you only after 1 AM, I'm stuck at a reunion.. |
Let's try tomorrow. Or sync up via email. No worries... On 19.12.2012, at 23:08, Pier Paolo Ramon notifications@github.com wrote: I can reach you only after 1 AM, I'm stuck at a reunion.. — |
Ok, guys. I'm finally home and quite free (remember I'm Italian so I'm stuck with xmas lunches and dinners till the 26th 🎄 😞 ) I'm going to be on skype for few hours (you can find me as |
So after talking to Pier on skype today we decided to try and have a kickoff meeting sometime next week. Correct me if Im wrong Pier, but I think the suggestions where perhaps wednesday in the morning or sometime thursday or friday. Im available anytime so it's your call @michael – of course everyone else is welcome to join if you wish. See you soon! |
Nice. I can't do Wednesday but Friday would work I think? What are your plans? My focus currently is on the composer side, polishing the layout and fixing bugs that occur during editing. Also we need to push the campaign somehow (we're not too good at marketing). I thought of sending emails to all existing Substance.io users, which make around 4000 ppl. Do you guys know about good services for handling such email tasks? Will checkout Mailchimp for that. Talk soon. |
Mailchimp is good. They have free option with mailchimp banner. On 24 December 2012 13:48, Michael Aufreiter notifications@github.comwrote:
|
Friday I'm in, just pick a time! Also...true, Mailchimp seems to be ok if we dont want to roll our own solution. |
So the first thing we'd need, is a service that receives, stores and renders Substance Documents.
POST /documents
A post service that takes a substance document as the body. The substance doc includes an id field, so we can either create a first or subsequent version in the hub database.
This is how the document looks like:
GET /some-doc-id
HTML-rendered version of latest document version
GET /some-doc-id.json
Technology:
The text was updated successfully, but these errors were encountered: