[Prophet] Vague Plans and Bad Ideas For the Future of Prophet

Ioan Rogers ioan at dirtysoft.ca
Thu Feb 14 17:15:59 EST 2013


Here's the promised draft where I want prophet to go. 

Christine, could you set me with git access to the wiki, please? Key
attached.

## Background

What put me off using prophet in the past was the sheer *size* of it.
It's a full-fledged application framework, providing CLI and web
interfaces and has a lot of dependencies. Perl being Perl, there are 
many different ways of doing those. I had an app with a sqlite db
being shared over Dropbox. The app already had its own CLI, web server,
templates, all I wanted to change was the storage.

My ultimate goal here is to make prophet more of a lightweight ORM which
will give a developer an easy and robust way of storing, syncing and
sharing their data without making choices about the rest of the app for
them.

## Prophet

 * Remove built-in CLI dispatching
 * Remove templating, jifty, web stuff
 * Make http service use psgi so users can use whatever psgi-compliant
   server they want in front
 * Maybe make syncing work over other transports, e.g ssh?
 * Any::Moose is deprecated, switch to Moo for the speed
 * More roles, less subclassing
 * Multi-repo support per application
 * Inter-app shared data, e.g ProphetX::User - stores user db in
   ~/.local/share/prophet, that one store can be shared over all
   consumers of ProphetX::User
 * RBAC / ACL per uuid, type of of thing
 * Search plugins
 * Once we approach 1.0, document the protocol so there can be other
   implementions, e.g. android

## SD
 * split foreignreplicas into separate dists. This is much friendlier to
   CPAN dependency handling and maybe finding maintainers for each one.
 * web frontend only takes up 1/3 of my screen! Make better use of space
 * Maybe use something like enyojs? Makes a good scalable x-platform ui
 * users

## Notepad

 * I currently use (rubric)[https://metacpan.org/release/Rubric] for
   bookmarks and some types of notes, and my own
(App-SimplenoteSync)[https://metacpan.org/release/App-SimplenoteSync]  
   for others. Make something using prophet!
 * Notes should be tagged to determine which types of foreign replicas
   they can be synced with.
 * Share only certain notes with others

Ioan

-------------- next part --------------
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuML+BQ0uuo4aPFz4ntWacIQ4XYV/uNRFzJi6lEGyLIrhAi0OsCXDG3H22FKpqdUIsLxfPjvRws92BNYc1+aLsHovPPn1flvaJ7uqRlUHiVRN5XVqPEaM0cD/Dl4LaVDwOysjyVMXbiOCAizF8mi1DZhPNhQfB/jYSsPG1QgIu+7ioLCqqlCWu9G/ykulAFpyY7PHTLwn8PkPHVvBPjzdfBnaVsE1c33mJbuGlntP3skXBSGxTpFVJLCQtDUKi1wqVfRGPVSMAA2zaaG1rOzRbQKCjtHC68PjvX8NhCtWuTa8Ly0gFCAOItUCVzHZJCjvYllY7hjNRwE8rcKKf+TZ/Q== ioan at zeratul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.bestpractical.com/pipermail/prophet/attachments/20130214/65458aa2/attachment.pgp>


More information about the Prophet mailing list