World: r3wp
[!REBOL3 Schemes] Implementors guide
older newer | first last |
Graham 21-Jan-2010 [1772] | So, I have some bugs in my scheme? |
Steeve 21-Jan-2010 [1773x2] | and remote commands too |
well, missing lot of commands :) | |
Graham 21-Jan-2010 [1775x4] | oh yeah ...minimal functionality ... for someone else to finish ;) |
cwd: func [ mbox [port!] dir [string!]][ if in mbox/scheme/actor 'cwd [ mbox/scheme/actor/cwd dir ] ] | |
which is what I have in my imap scheme ... could use similar for ftp | |
actor: [ cwd: funct [ dir [string!]][ write mbox compose [ SELECT (dir) ] read mbox ] ] | |
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 [1821] | Yes, I'm sure it will work with REST ... it's just harder to maintain the aws interface each time they change their specifications |
older newer | first last |