Re: fun with Capper and OFX financial transaction fetching
Marc Stiegler <[email protected]> Tue, 5 Jan 2016 18:46:35 -0700
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <CAK=cCVWsyg-7ksTaLsJKHDjZmqMfcZtfhOuyjwtfnaRikCpq0g@mail.gmail.com> |
--===============8765458689524815075== Content-Type: multipart/alternative; boundary=001a113d83bc3e79d70528a08659 --001a113d83bc3e79d70528a08659 Content-Type: text/plain; charset=UTF-8 Glad you're enjoying Capper. The inability to use closures across shutdowns is a disappointment to me too. The silver lining is that it is really easy to make many different kinds of upgrades, adding and deleting instance variables, as the simple example. This is very different from using waterken, for which adding a new instance variable was, on a good day very painful, and under many important circumstances was actually impossible. And we won't even mention the delightful way that anonymous closures could get confused across maintenance on waterken, an impossible failure to debug. Honestly, being able to do maintenance upgrades that involve modifying the data in the objects is so important over the long term that this is more than a silver lining; it is a benefit that may be comparable to being able to use closures. For DecideRight2, I have been repeatedly surprised that I've never had to throw my database away and start over, despite my warnings to alpha users that I might wipe it out at any time :-) When Kenton did his first friam presentation on sandstorm, I pressed him really hard on how you would ship application-generated webkeys out to the users and have accesses directed back to the right app, since I wanted to run Capper under sandstorm. It was not possible at that time. I do not know if that has changed. --marcs On Sun, Jan 3, 2016 at 11:01 PM, Dan Connolly <[email protected]> wrote: > On Sat, Jan 2, 2016 at 5:39 PM, Dan Connolly <[email protected]> wrote: > > https://bitbucket.org/DanC/finquick/src/capper/take2js/README.md > > > > Now I'd like to figure out an alternative to this step in my docs: > > > > WARNING: This will store your credentials in clear-text in capper.db. > > I found a solution that works at my desktop: > > 70 ef458f26c63e 2016-01-03 21:56 -0600 http://www > use freedesktop secret store to avoid cleartext OFX passwords in > capper.db > > I'm still thinking about how and whether I want to deploy in sandstorm... > > Meanwhile, I'm reasonably happy with the access graph now: > > excerpt from README: > > > ## Fetch 60 days of transactions > > ### Create an OFX institution object > > For `discover` or `amex`: > > $ discover=@`node --harmony server -make ofxies.makeInstitution > discover | tail -1` > > The resulting `$discover` should be a webkey a la > `@https://localhost:1341/ocaps/#s=Yslejls...`. > > ### Put your OFX account credentials in the freedesktop secret store > > The credit card number, username, and password are combined into one > secret, separated by spaces; `protocol` and `object` attributes are > used for lookup: > > $ echo 601.... con... sekret | secret-tool store --label='My > Discover' protocol OFX object disc1 > > Then make a webkey for the freedesktop secret store: > > $ store=@`node --harmony server -make ofxies.makeKeyStore | tail -1` > > And make another for access to just the relevant entry: > > $ key=@`node --harmony server -make ofxies.makePassKey $store > protocol OFX object 8146 | tail -1` > > > ### Create an account object > > Now we're ready to make a webkey for the account: > > $ disc1=@`node --harmony server -make ofxies.makeAccount $discover > $key | tail -1` > finquick/take2js/Capper$ echo $disc1 > @https://localhost:1341/ocaps/#s=abc123... > > ### Fetch > > Access the webkey from above and hit **Fetch**; after a few seconds, a > table your transactions going back 60 days should appear. > > -- > Dan Connolly > http://www.madmode.com/ > _______________________________________________ > cap-talk mailing list > [email protected] > http://www.eros-os.org/mailman/listinfo/cap-talk > --001a113d83bc3e79d70528a08659 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div><div>Glad you're enjoying Capper. The inability t= o use closures across shutdowns is a disappointment to me too. The silver l= ining is that it is really easy to make many different kinds of upgrades, a= dding and deleting instance variables, as the simple example. This is very = different from using waterken, for which adding a new instance variable was= , on a good day very painful, and under many important circumstances was ac= tually impossible. And we won't even mention the delightful way that an= onymous closures could get confused across maintenance on waterken, an impo= ssible failure to debug.<br><br>Honestly, being able to do maintenance upgr= ades that involve modifying the data in the objects is so important over th= e long term that this is more than a silver lining; it is a benefit that ma= y be comparable to being able to use closures. For DecideRight2, I have bee= n repeatedly surprised that I've never had to throw my database away an= d start over, despite my warnings to alpha users that I might wipe it out a= t any time :-)<br><br></div>When Kenton did his first friam presentation on= sandstorm, I pressed him really hard on how you would ship application-gen= erated webkeys out to the users and have accesses directed back to the righ= t app, since I wanted to run Capper under sandstorm. It was not possible at= that time. I do not know if that has changed.<br><br></div>--marcs<br></di= v><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Sun, Jan 3, = 2016 at 11:01 PM, Dan Connolly <span dir=3D"ltr"><<a href=3D"mailto:dckc= @madmode.com" target=3D"_blank">[email protected]</a>></span> wrote:<br><= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">On Sat, Jan 2, 2016 at 5:39 PM, Dan Connolly = <<a href=3D"mailto:[email protected]">[email protected]</a>> wrote:<br> > <a href=3D"https://bitbucket.org/DanC/finquick/src/capper/take2js/READ= ME.md" rel=3D"noreferrer" target=3D"_blank">https://bitbucket.org/DanC/finq= uick/src/capper/take2js/README.md</a><br> <span class=3D"">><br> > Now I'd like to figure out an alternative to this step in my docs:= <br> ><br> >=C2=A0 =C2=A0WARNING: This will store your credentials in clear-text in= capper.db.<br> <br> </span>I found a solution that works at my desktop:<br> <br> 70=C2=A0 =C2=A0ef458f26c63e=C2=A0 =C2=A02016-01-03 21:56 -0600=C2=A0 =C2=A0= <a href=3D"http://www" rel=3D"noreferrer" target=3D"_blank">http://www</a><= br> =C2=A0 use freedesktop secret store to avoid cleartext OFX passwords in cap= per.db<br> <br> I'm still thinking about how and whether I want to deploy in sandstorm.= ..<br> <br> Meanwhile, I'm reasonably happy with the access graph now:<br> <br> excerpt from README:<br> <br> <br> ## Fetch 60 days of transactions<br> <br> ### Create an OFX institution object<br> <br> For `discover` or `amex`:<br> <br> =C2=A0 =C2=A0 $ discover=3D@`node --harmony server -make ofxies.makeInstitu= tion<br> discover | tail -1`<br> <br> The resulting `$discover` should be a webkey a la<br> `@<a href=3D"https://localhost:1341/ocaps/#s=3DYslejls...`" rel=3D"noreferr= er" target=3D"_blank">https://localhost:1341/ocaps/#s=3DYslejls...`</a>.<br= > <br> ### Put your OFX account credentials in the freedesktop secret store<br> <br> The credit card number, username, and password are combined into one<br> secret, separated by spaces; `protocol` and `object` attributes are<br> used for lookup:<br> <br> =C2=A0 =C2=A0 $ echo 601.... con... sekret | secret-tool store --label=3D&#= 39;My<br> Discover' protocol OFX object disc1<br> <br> Then make a webkey for the freedesktop secret store:<br> <br> =C2=A0 =C2=A0 $ store=3D@`node --harmony server -make ofxies.makeKeyStore |= tail -1`<br> <br> And make another for access to just the relevant entry:<br> <br> =C2=A0 =C2=A0 $ key=3D@`node --harmony server -make ofxies.makePassKey $sto= re<br> protocol OFX object 8146 | tail -1`<br> <br> <br> ### Create an account object<br> <br> Now we're ready to make a webkey for the account:<br> <br> =C2=A0 =C2=A0 $ disc1=3D@`node --harmony server -make ofxies.makeAccount $d= iscover<br> $key | tail -1`<br> =C2=A0 =C2=A0 finquick/take2js/Capper$ echo $disc1<br> @<a href=3D"https://localhost:1341/ocaps/#s=3Dabc123." rel=3D"noreferrer" t= arget=3D"_blank">https://localhost:1341/ocaps/#s=3Dabc123.</a>..<br> <br> ### Fetch<br> <br> Access the webkey from above and hit **Fetch**; after a few seconds, a<br> table your transactions going back 60 days should appear.<br> <div class=3D"HOEnZb"><div class=3D"h5"><br> --<br> Dan Connolly<br> <a href=3D"http://www.madmode.com/" rel=3D"noreferrer" target=3D"_blank">ht= tp://www.madmode.com/</a><br> _______________________________________________<br> cap-talk mailing list<br> <a href=3D"mailto:[email protected]">[email protected]</a><= br> <a href=3D"http://www.eros-os.org/mailman/listinfo/cap-talk" rel=3D"norefer= rer" target=3D"_blank">http://www.eros-os.org/mailman/listinfo/cap-talk</a>= <br> </div></div></blockquote></div><br></div> --001a113d83bc3e79d70528a08659-- --===============8765458689524815075== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ cap-talk mailing list [email protected] http://www.eros-os.org/mailman/listinfo/cap-talk --===============8765458689524815075==--