mediagoblin-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GMG-Devel] About Blogging System Project


From: Christopher Allan Webber
Subject: Re: [GMG-Devel] About Blogging System Project
Date: Tue, 16 Apr 2013 14:12:30 -0500
User-agent: mu4e 0.9.9.5-dev5; emacs 24.1.50.1

Greg Grossmeier kindly brought up something on IRC that is a concern of
mine as well: scope creep.

As brought up on IRC, the biggest reason *against* blogging as part of
MediaGoblin is scope creep.  I've been worried about this and it's why
for a long time I fought the idea of blogging as part of MediaGoblin
entirely.  Later, when talking to more people who were really convinced
that MediaGoblin should try to handle the space that Tumblr and friends
are in, I said, "okay, well we can do it as a plugin" and that wouldn't
mess up MediaGoblin itself.  Today spaetz argued for doing blogging as a
media type plugin, and he made a great argument: we have almost all the
components of a blogging engine, and if we were to redo them, we'd have
to redo a comment system, tag system, etc, which with blogposts as a
media type we currently get for free.  That's really compelling!

But what about the risk that scope creep might mean writing code to
support both blogging *and* media hosting in a way that we don't handle
either really well?  That's something that's really worried me,
especially since people do not view blogposts in a "gallery" form.
Adding code to selectively act certain ways in one way and others in
another might mean we write views that don't work nicely for either
really.  And it's most important to me more than anything else that
MediaGoblin be *AWESOME* for stuff like image, video, etc hosting.  So
I've been worried about this.

But I went on a walk today, and I think I have thoughts on how to have
our blogging engine, and avoid scope creep too!

Here are my thoughts on how to do a zero-bloat blogging system in
MediaGoblin that respects the architecture we have.

 - Blogposts are media entries, and don't try to pretend otherwise.
   They show up in galleries, maybe with a special icon, or maybe a user
   can supply a thumb; whatever.  If you don't like this too much, don't
   use MediaGoblin as a blog!  (or read my next two bullet points ;))
 - However, the real push for blogging in MediaGoblin has been from
   people wanting a Tumblr replacement.  Actually this should not be
   hard to do with media types!

   Imagine if you had a plugin that swapped out the user page, like
   http://mediagoblin.com/u/cwebber/ with something a little bit more
   "vertical"... instead of showing each media type in a grid gallery,
   it actually shows the full rendered media type as it would appear on
   the media page itself, like in this ascii art mockup

     http://mediagoblin.com/u/cwebber/m/mediablogger-style/

   (... hopefully that's clear enough ;))

   Anyway, I figure there can be a plugin that swaps out the user's
   homepage, and can also provide a url like:

     http://mediagoblin.com/u/cwebber/page/2/

   ... which would be the second page.

   However, clicking through to the media page, it would look like a
   normal media page.  Navigation and everything!  (Of course, if you
   want to theme this otherwise, we do have theming.)

   In this case, we will NOT be rewriting MediaGoblin to accomodate any
   special stuff just for blogging!  We would, however, be adding this
   page view feature, and the infrastructure to support it, even if a
   plugin... but it's a view style I'd actually love to have regardless
   of blogging.

   I think it would be easy to support both with jinja2 includes, we can
   just make the part that the media puts in the middle of the media
   display page something {% include %}'d in both a template for the
   current view as well as this "vertical" view.

   The most complicated part of this is how to get appropriate
   javascript into the {% head %} element... I have an idea for this
   that involves each media type declaring that bit and then looping
   through the head of all templates with what's needed here, and this
   also can work with the {% include %} stuff... I can explain on IRC
   better though. :)

   I have high confidence this can be cleanly done.

 - Lastly, for those who want the "deviantart" style of having the
   gallery of their images on their homepage but the blogposts listed in
   a separate section off to the side, we can have a plugin that mangles
   the user's homepage, and if they want, other pages too to do
   filtering on that SQL statement and etc.  I think it wouldn't be
   pretty, but if people really want that, they can do it in a plugin
   without messing up the MediaGoblin main code if we provide the
   appropriate hooks.

How does that sound?  I realize it's a bit of a braindump ;)
 - Chris


reply via email to

[Prev in Thread] Current Thread [Next in Thread]