|
From: will <wi...@bl...> - 2003-01-25 17:02:46
|
I think we could write a quickie script that goes through your root to see
if there are new entries since the last run and if there are, then it
rebuilds the cached pages. Then you could dump this script in cron to
kick off every, say, hour. That'd be pretty safe.
I'd probably make this a completely separate script from pyblosxom.cgi--I
can't tell if that's what you're implying or not. It would use the same
ini file to figure out pyblosxom settings, but have a different plugins
directory to limit unneeded overhead of initializing plugins that aren't
needed. So then it's run-time algorithm would look like this:
1. kick off and read the ini file to configure itself
2. instantiate its plugins
3. get a full entry_list of all the entries
4. generate a list of differences between the two lists (which
will be changes since the last run)
5. kick off some handler for plugins to do their thing
Alternatively, we could have pyblosxom.cgi and whatever other things we
have (xmlrpc blogging, email blogging, ...) dump things in a queue and
then this separate script would execute on tasks in the queue. That's how
Mailman used to work. It's not too hard to setup. I'm not sure how much
better it would be than having this new script figure things out on its
own. Probably not wildly exciting either way.
I like this solution. I think the problem with *blosxom is that it only
handles reading entries from the root--it doesn't really define the
content creation mechanism, so content could come from anywhere (xmlrpc,
email, editing entries by hand...) and that causes us to have to figure
things out after the fact rather than when they're created on the spot.
So I guess my addition to this train of thought is that this should be a
separate script with a separate plugins directory. Maybe call them
pyblosxom.cgi and pyblosxom.cron with a cronplugins/ directory?
/will
On Thu, 23 Jan 2003, Wari Wahab wrote:
>
> As some of you know, I was thinking of doing plugins that will touch a
> makeshift db to tell a cronjob what to do later. Don't listen to me, it
> wasn't me putting on my unix administrator cap :) This should not be a
> job of pyblosxom.
>
> I mean, why get pyblosxom to notice when a cronjob can do the noticing.
> What the program in your control, make it a command line program, cannot
> access the command line, allow web access to it, with a password or
> something.
>
> A little python script can be a cgi, a command line program and a
> cronjob (to run quietly). Actually it does not have to be a python
> script but where's the fun in that? :) Using plugins similar to Will's
> load() style plugin, I will pass an object containing py config
> variables, as well as a list of what blogs changed or is new to
> pyblosxom. The plugins then do what they need to do.
>
> What are the areas the plugins can help? Off the hat, I can think of,
> 1. static page renders,
> 2. pingbacks,
> 3. trackbacks or
> 4. what ever feedbacks that needs to be 'activated' on new entries.
> 5. Weblogs.com and blo.gs ping, or wherever users might want to ping to
> notify a new blog entry.
> 6. external uploads to webservers (blog locally, publish globally)
> 7. Backups
> 8. Web site cleanups
>
> My hat's empty now :)
>
> You can see how useful this can be, and I have not even started on
> anything yet :)
>
> So what do you think? Do I sound like rambling? :) Is this a good idea,
> or something I should scrap? Do you have task ideas out off your hats?
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Scholarships for Techies!
> Can't afford IT training? All 2003 ictp students receive scholarships.
> Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
> www.ictp.com/training/sourceforge.asp
> _______________________________________________
> Pyblosxom-devel mailing list
> Pyb...@li...
> https://lists.sourceforge.net/lists/listinfo/pyblosxom-devel
>
--
whatever it is, you can find it at http://www.bluesock.org/~willg/
except Will--you can only see him in real life.
|