Skip to content
Create a gist now

Instantly share code, notes, and snippets.

(2009-07-10 10:43:05) #perlcms: mode (+nt ) by
(2009-07-10 10:49:50) zby [] entered the room.
(2009-07-10 10:50:05) robinsmidsrod: hopefully Theory at some point
(2009-07-10 10:50:07) zby: heh - I see
(2009-07-10 10:50:09) robinsmidsrod: (David)
(2009-07-10 10:50:14) zby: OK
(2009-07-10 10:50:31) zby: anyway first the problems I see
(2009-07-10 10:50:36) robinsmidsrod: in fact, I'm thinking that maybe we don't need to actually choose a framework
(2009-07-10 10:50:39) zby: I think you need to choose a platform
(2009-07-10 10:50:45) zby: Mojo is interesting
(2009-07-10 10:51:00) robinsmidsrod: maybe we can just make a dispatching plugin for any of the large ones
(2009-07-10 10:51:02) zby: but you'd need to find more people that use it
(2009-07-10 10:51:11) zby: I have no experience with it
(2009-07-10 10:51:21) robinsmidsrod: me neither - I have just skimmed the docs
(2009-07-10 10:51:26) zby: hmm
(2009-07-10 10:51:36) robinsmidsrod: in fact, I'm not that experienced with catalyst either
(2009-07-10 10:51:39) zby: I am now experimenting with having the dispatcher in the controller
(2009-07-10 10:51:40) robinsmidsrod: I've just made one app with it
(2009-07-10 10:51:48) robinsmidsrod: actually, two apps
(2009-07-10 10:51:55) zby: so in theory you could reuse it in other framework
(2009-07-10 10:51:58) robinsmidsrod: one is here:
(2009-07-10 10:53:04) robinsmidsrod: because the only thing that is really framework-relevant is how to map the request/response objects and how to dispatch paths
(2009-07-10 10:53:21) robinsmidsrod: maybe it would be bound a bit more when we approach auth/authz
(2009-07-10 10:53:28) zby: Caught exception in ->ACL error rethrower "Access to competition/browse/all/index denied by rule CODE(0x470ed60) (defined at /home/vhosts/ line 67)."
(2009-07-10 10:53:53) robinsmidsrod: guess I need to fix that
(2009-07-10 10:54:01) zby: yes - the dispatching is the most framework dependant
(2009-07-10 10:54:08) zby: but there are other things
(2009-07-10 10:54:24) zby: like the upload field
(2009-07-10 10:54:29) zby: in the request object
(2009-07-10 10:54:39) zby: small things - but they crop up everywhere
(2009-07-10 10:56:12) zby: then there is auth
(2009-07-10 10:56:46) zby: I think you need to choose the framework
(2009-07-10 10:56:50) zby: to start with
(2009-07-10 10:57:07) zby: you need to write a prototype to show people
(2009-07-10 10:57:10) zby: and attract developers
(2009-07-10 10:57:47) robinsmidsrod: zby: yeah, but first I need to think about the data/dispatch model I want to use
(2009-07-10 10:57:57) robinsmidsrod: now that site works again
(2009-07-10 10:58:15) robinsmidsrod: still problems...
(2009-07-10 10:59:15) robinsmidsrod: it's just an uncaught exception because I didn't remove an url that was supposed to be hidden for guest users - it was a school project - so it's not exactly well-polished
(2009-07-10 11:00:41) zby: OK
(2009-07-10 11:00:57) zby: I've skimmed your github readme
(2009-07-10 11:00:58) robinsmidsrod: well, it's my biggest catalyst project though
(2009-07-10 11:01:22) robinsmidsrod: what are your immediate thoughts?
(2009-07-10 11:01:29) zby: what is the difference between path and block?
(2009-07-10 11:01:40) robinsmidsrod: a path is basically an URI
(2009-07-10 11:01:52) robinsmidsrod: think of it like a key to a list of blocks
(2009-07-10 11:02:37) zby: OK - but blocks are also list of blocks?
(2009-07-10 11:02:38) robinsmidsrod: a block is a small part of the entire page that will actually render that path
(2009-07-10 11:03:04) robinsmidsrod: zby: that's the part I'm not sure about - if we should allow blocks to wrap other blocks
(2009-07-10 11:03:10) robinsmidsrod: or if it will just complicate stuff
(2009-07-10 11:03:34) zby: I would propose that it is recursive
(2009-07-10 11:03:53) robinsmidsrod: zby: yeah, that gives us much more flexibility
(2009-07-10 11:03:54) zby: but I would say that a path identifies a block
(2009-07-10 11:04:44) robinsmidsrod: hmm...interesting
(2009-07-10 11:05:02) robinsmidsrod: and then you just assume that a block, if it is static just wraps to the entire page
(2009-07-10 11:05:13) robinsmidsrod: if it is dynamic it probably includes children
(2009-07-10 11:05:42) zby: and you could also render sub-blocks
(2009-07-10 11:05:48) zby: because they would have paths
(2009-07-10 11:05:58) zby: this could be usefull for debugging
(2009-07-10 11:06:26) robinsmidsrod: rephrase that thing about sub-blocks
(2009-07-10 11:06:32) robinsmidsrod: I didn't quite get it
(2009-07-10 11:07:10) zby: you let a block contain other blocks
(2009-07-10 11:07:29) zby: i.e. sub-blocks
(2009-07-10 11:07:36) robinsmidsrod: now I remember why I was thinking that a path is a list of blocks - it's to be able to work nice towards ESI
(2009-07-10 11:07:40) robinsmidsrod: (Edge Side Includes)
(2009-07-10 11:07:56) robinsmidsrod: to allow static and dynamic blocks in the same page
(2009-07-10 11:08:18) zby: yeah - so I would say that a path leads to a block
(2009-07-10 11:08:27) zby: and that block can contain the list of sub-blocks
(2009-07-10 11:08:39) zby: this would be nicely recursive
(2009-07-10 11:09:00) robinsmidsrod: okay, how do we map this so that ESI can get to it?
(2009-07-10 11:09:15) zby: I have no experience with ESI
(2009-07-10 11:09:24) zby: give me some link - so that I'll read about it
(2009-07-10 11:09:45) zby: anyway - now I need a daughter emmergency break
(2009-07-10 11:10:02) robinsmidsrod: maybe this one?
(2009-07-10 11:11:00) robinsmidsrod: I don't know a lot about ESI either, but I know it's used a lot in high-performance setups
(2009-07-10 11:11:12) robinsmidsrod: and I'd like to accomodate for it in the design
(2009-07-10 11:11:54) robinsmidsrod: even better link:
(2009-07-10 11:14:25) zby: OK - thanks - I'll read about it
(2009-07-10 11:14:45) zby: but to give you some perspective on what I work now on
(2009-07-10 11:14:58) zby: I have in mind a Catalyst::Elements project
(2009-07-10 11:15:11) zby: for assembling basic features to a Cat application
(2009-07-10 11:15:17) zby: like authentication
(2009-07-10 11:15:20) zby: comments
(2009-07-10 11:15:23) zby: etc
(2009-07-10 11:15:31) zby: CRUD
(2009-07-10 11:15:53) zby: I think this is now my priority
(2009-07-10 11:16:22) zby: but I can take part in the discussions about the cms
(2009-07-10 11:16:44) zby: and if you have any particular needs - then I can try to write some Element for it
(2009-07-10 11:16:53) zby: what do you think about that?
(2009-07-10 11:17:03) robinsmidsrod: let me think before I answer
(2009-07-10 11:17:12) zby: yeah - sure
(2009-07-10 11:18:03) robinsmidsrod: your concept seems smart too, the concept being to assemble catalyst components like legos into forming a complete cat-app
(2009-07-10 11:18:32) zby: yes - this is actually quite obvious one
(2009-07-10 11:18:53) zby: what I add to it is that I am trying to make it simple and replaceable
(2009-07-10 11:18:54) robinsmidsrod: it's not so far from what I have in mind -
(2009-07-10 11:18:58) zby: scaffolding
(2009-07-10 11:19:14) zby: yeah - I hope so :)
(2009-07-10 11:19:45) robinsmidsrod: but I guess I'm more focused on getting the foundation right so that caching and expiry and plugins work with very little effort
(2009-07-10 11:20:18) robinsmidsrod: actually, I somewhat see this as a refinement to what I do at work, but more generic - see
(2009-07-10 11:20:52) robinsmidsrod: that is a project focused on the needs of learning
(2009-07-10 11:21:02) robinsmidsrod: web-based learning
(2009-07-10 11:21:27) zby: interesting
(2009-07-10 11:21:28) robinsmidsrod: so I'm trying to take what knowledge I have from that project and generalize it into
(2009-07-10 11:21:37) robinsmidsrod: I've been working on that thing since 2005
(2009-07-10 11:21:59) robinsmidsrod: at that time catalyst was just in its infancy (at least from my perspective) so it's not based on catalyst
(2009-07-10 11:22:30) zby: yeah catalyst started in 2005
(2009-07-10 11:23:22) robinsmidsrod: so you can probably understand where the ideas I've written down come from
(2009-07-10 11:23:43) robinsmidsrod: it's sort of a refinement of the stuff I've been doing at work for the last 4 years
(2009-07-10 11:23:52) zby: great!
(2009-07-10 11:24:20) zby: OK - so let me read about the ESI
(2009-07-10 11:24:46) zby: and think a bit how could you fit my Elements idea into your project
(2009-07-10 11:26:21) robinsmidsrod: the very simple concept is that building a website should be like constructing it from lego bricks
(2009-07-10 11:26:54) robinsmidsrod: that's how I thought of the term "block"
(2009-07-10 11:30:07) zby: :)
(2009-07-10 11:32:45) robinsmidsrod: we also need to think about versioning and deprecation of features, and APIs, to make sure that upgrading and such is also clean
(2009-07-10 11:34:00) robinsmidsrod: I was thinking that the blocks themselves could be version, something like what git does with blobs
(2009-07-10 11:34:11) robinsmidsrod: s/version/versioned/
(2009-07-10 11:34:26) robinsmidsrod: this could also enable wiki-like sites that allow rollback of content and history
(2009-07-10 11:35:02) robinsmidsrod: and then maybe a system to purge unreferenced blocks or something
(2009-07-10 11:35:48) robinsmidsrod: as you can see, I have lots of thoughts on the subject - but I'm trying to take a minimalist approach to what the core system should handle
(2009-07-10 11:36:37) robinsmidsrod: I don't know if it's approriate, but think of it somewhat like git for web-development with dynamic content (generated from perl code) thrown into the mix
(2009-07-10 11:37:02) robinsmidsrod: maybe even some code signing for authenticated plugins/blocks or whatever
(2009-07-10 11:40:26) robinsmidsrod: as a photographer and programmer I think of useful applications as e.g. a blog where I talk about programming - my portfolio of my pictures, my photo-plog (which is mostly pictures) - all of this should be possible to host on one installation of the system
(2009-07-10 11:40:46) robinsmidsrod: but I'm also thinking that it could be useful as a ISP hosting solution aswell
(2009-07-10 11:41:38) robinsmidsrod: so a strong API for manipulating the data structures via REST/SOAP or something sounds about right
(2009-07-10 11:42:05) robinsmidsrod: this way you could make tools like the flickr uploader that would allow you to keep your portfolio site updated offline
(2009-07-10 11:42:35) robinsmidsrod: or you could keep a staging system at one location and just sync it to production when you're ready
(2009-07-10 11:42:45) ***robinsmidsrod is just throwing out ideas
(2009-07-10 11:44:47) zby: :)
(2009-07-10 11:44:54) zby: thats a long list
(2009-07-10 11:52:20) robinsmidsrod: yeah - it is
(2009-07-10 11:52:28) ***robinsmidsrod is eating - be back soon
(2009-07-10 13:14:26) robinsmidsrod: okay, I'll be off to do some personal errands, but if you have anything to share about the project please send a pull request for the docs, give me a patch or just shout of some ideas here - I'll eventually be back and will read them
(2009-07-10 13:14:30) robinsmidsrod: c u
(2009-07-10 13:14:53) robinsmidsrod: if Theory comes online, try to invite him here...
(2009-07-10 13:15:13) robinsmidsrod! robinsmidsrod has changed the topic to:
(2009-07-10 13:15:45) robinsmidsrod! robinsmidsrod has changed the topic to: - have a look at the readme and give me your input
(2009-07-10 18:39:26) Theory [] entered the room.
(2009-07-10 18:40:12) robinsmidsrod: I had a discussion with zby earlier today
(2009-07-10 18:41:08) robinsmidsrod: Theory: I'm not sure how this aligns with your concept - and btw - why are you interested in this when you obviously are deeply involved in bricolage? is it not doing what you want?
(2009-07-10 18:43:28) Theory: Bricolage is a back-end workflow and publishing system.
(2009-07-10 18:43:32) Theory: It doesn't actually serve sites.
(2009-07-10 18:43:46) Theory: Working on a project now where $client develops content in Bricolage and publishes it to a Drupal server.
(2009-07-10 18:43:52) Theory: Drupal has filled me with hate.
(2009-07-10 18:43:56) Theory: QED
(2009-07-10 18:44:48) robinsmidsrod: okay - I have some logs from my conversation with zby, so that you have a bit more meat on the bone in addition to the README
(2009-07-10 18:44:58) robinsmidsrod: btw, please clone that repo and add your bits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.