World: r3wp
[!REBOL3 Schemes] Implementors guide
older newer | first last |
Steeve 21-Jan-2010 [1779] | i'm doing differently currently, i only use WRITE to pass block of commands to parse |
Graham 21-Jan-2010 [1780] | so the user still has low level access to the scheme or not? |
Steeve 21-Jan-2010 [1781] | don't know what u mean exactly, so i would say... maybe |
Graham 21-Jan-2010 [1782] | the user can still use the port in what carl calls mixed mode ... |
Steeve 21-Jan-2010 [1783] | OPEN, WRITE and CLOSE will be the only one usefull actors in my scheme |
Graham 21-Jan-2010 [1784x2] | I think mine allows file upload resume by sening a APPE command with the rest of the file |
but rather than handling it directly ... you can just write the command to the port | |
Steeve 21-Jan-2010 [1786] | a session will be something like: >> session: open ftp://ftp.site.com >> write session [ USER "toto" PASS "****" PASV BINARY CD /dir-temp GET %thif-file ] >> close session |
Graham 21-Jan-2010 [1787] | ok, looking forward to seeing it ... |
Steeve 21-Jan-2010 [1788x2] | and i will use a dialect to construct the state diagrams |
for example, the state diagram used to open a ftp session looks like this currently. USER << ( (1 2) error (4 5) fail 3 >> PASS << ( 2 success 1 error (4 5) fail 3 >> ACCT << ( 2 success (1 3) error 4 5 fail ) ) ) it's a dialect | |
Graham 21-Jan-2010 [1790] | Nice ... I'm looking for a dialected flow control GUI tool too :) |
Steeve 21-Jan-2010 [1791] | This one, to rename a file: RNFR ;** rename a file. << ( (1 2) error (4 5) fail 3 ( >> RTNO << ( 2 success (1 3) error (4 5) fail ) ) ) |
Graham 24-Jan-2010 [1792x3] | I'm wondering how to interface with Amazon's simple DB. |
Both Maarten and I passed the secret and access keys as parameters to the various functions, but I think I'd rather have a system/user object to store them and use them from there. | |
So, can we have an extensible system/user object that we can store user related data for use in schemes etc ? | |
BrianH 24-Jan-2010 [1795x5] | system/contexts/user is user-specific, and schemes can store their data in their modules if they like. |
I don't think we're going to get back system/user - all global options are going under system/options, including options about users. | |
You need to make sure that your data is task-safe too, so changeable global options are usually bad unless they are changed through a function that synchronizes access. system/contexts/user is task-specific. | |
Don't know whether system/options will be task-specific - most of its options are supposed to be read-only. | |
The writeable options like binary-base are supposed to be moved to on-the-spot function options. | |
Graham 24-Jan-2010 [1800x2] | so, it's system/contexts/user/user ... we can store a user object here? |
And set-net will store the data here too? | |
BrianH 24-Jan-2010 [1802x3] | system/contexts/user is the script context. You can put whatever script-accessible words you want there. |
We are using modules and access functions like set-net instead of global options objects, for the most part. | |
The system structure of R3 is very different from R2. | |
Graham 24-Jan-2010 [1805] | I think we can work with everything being in system/contexts/user/user for the purposes of a scheme for the moment |
BrianH 24-Jan-2010 [1806] | Remember that 'user is a common script word, so that will be overwritten. Use module-local data, or port-specific data. |
Graham 24-Jan-2010 [1807] | Eh? |
BrianH 24-Jan-2010 [1808] | Certainly, set-net shouldn't set anything writeable any other way. |
Graham 24-Jan-2010 [1809] | Moving on .... an AWS:// scheme can certainly be derived from the http scheme |
BrianH 24-Jan-2010 [1810x2] | system/contexts/user is the shared "global" context for all user scripts (not modules), and that's why it's task-specific. |
Maarten did so for Qtask, so I assume that strategy for aws:// would work here. | |
Graham 24-Jan-2010 [1812] | Umm.. he rewrote the http scheme I think |
BrianH 24-Jan-2010 [1813] | Yeah. Which we need to do too. |
Graham 24-Jan-2010 [1814x2] | Eh? What's wrong with Gabriele's http scheme? |
Anyway, Maarten had to do all of this because he chose to use the REST method of interacting with aws. To it seems much simpler to use SOAP instead. | |
BrianH 24-Jan-2010 [1816x2] | Chunked encoding is broken, which is why the released version has been modded to use http 1.0; error handling is broken (the source of most chat errors); no server support; written for an older idea of R3 semantics. |
Our HTTP scheme should work with REST out-of-the-box too. | |
Graham 24-Jan-2010 [1818x2] | I haven't used the prot-http ... |
Is Gabriele ever coming back to work on any R3 stuff ? Or is he a permanent qtask person now? | |
BrianH 24-Jan-2010 [1820] | It's next on my list after 2.7.8 and R3 compressed modules/scripts. |
Graham 24-Jan-2010 [1821x2] | Yes, I'm sure it will work with REST ... it's just harder to maintain the aws interface each time they change their specifications |
So, I suspect it's easier to maintain using SOAP | |
BrianH 24-Jan-2010 [1823] | I don't use their services (yet) so I wouldn't know. |
Graham 24-Jan-2010 [1824x3] | Well I was reading their API again over the weekend on the plane :) |
The main issue is that SOAP has to be over https ... so have to use stunnel ... that is if i can get stunnel working under windows 7 | |
And if someone wants REST ... they can do it later on. | |
Pekr 24-Jan-2010 [1827] | I would like to ask about the inner workings of port actors. How is it done? Let's say you define 'read actor for port. Does it mean, that call to "read tcp://x.x.x.x" will then pass call to port 'read actor? |
Graham 24-Jan-2010 [1828] | read scheme:// means that you call the scheme's actor 'read |
older newer | first last |