TulpaCMS
My most recent Content Management System project is called TulpaCMS.
In fact, that's what you're looking at right now!
It was not built from scratch, but based on the as-of-yet unfinished gullmyra.no CMS. When I decided I wanted to upgrade and streamline my personal info-domain I figured the framework for Gullmyra was an excellent starting point. In fact, gullmyra was pretty much at the exact point where it's feature-set was what I wanted for my personal information and blah-blah about myself!
Like Gullmyra, it uses Markdown to render the text, but it uses a much more basic editing concept, and the menu is downright simplistic.
I never intended TulpaCMS to be published in source form, but if you want it, drop me a line and I'll send it to you.
Licensed under ESL, of course!
The name
Tulpa (Wylie: sprul-pa) can be a verb, meaning to construct or to build, but it is also a concept from Tibetan Buddhism, where (simplified) it is the "Thoughtform", your subconscious as a separate person.
Both meanings apply to TulpaCMS, as I use it both to construct this website, and to express myself, trying to let my subconscious bleed through so you, the reader, might get to know me.
The software
TulpaCMS is built in Perl, of course, but it has a rather important JavaScript component as well.
I've made sure that a regular user never needs JavaScript to read the page, but some parts will certainly work better if you have it enabled.
One example is my use of jQuery.Syntax to render my code snippets a little more readable.
Huge thanks to Samuel Williams for straightening out some issues I was having with jQuery.Syntax, and for prompt and friendly answers to my e-mails.
Before:
use Tulpa; my $t = new Tulpa; print $t->html; exit 0;
After:
use Tulpa; my $t = new Tulpa; print $t->html; # Of course, you would normally like to have it slightly more elaborate than this, but this will actually work! exit 0;
If the two look the same, your JavaScript is disabled or something went horribly wrong...
The idea
The idea behind TulpaCMS was to provide myself with a quick solution to fredrikvold.info being horribly out of date, and to make it simpler to keep it up to date in the future.
Re-using code from gullmyra.no meant I could have it in place in a matter of hours.
The future
To make it a fully developed CMS I need to do a whole lot more to it, but it was never intended for that. I might do it anyway, however, as I finish up the Gullmyra code and port that into TulpaCMS.
Behind the scenes there is a framework for posting comments on pages (or "nodes" as they are called internally), but this system was never even started properly, and is not at all exposed to the user.
Really, now, who would comment on this page? My wife, perhaps, but she can comment it on my Facebook wall in stead.
The menu behaves a little like an old fashioned Windows Explorer directory tree view or something.
Heavily inspired by JSTree, but uses zero code from there. I based my icons off of theirs, however.
It's somewhat graceful in handling when someone comes directly from the outside to a node other than the top one (automatically expands the tree), and using cookies for persistence worked out very well. Anyone looking at this page without JavaScript enabled won't be hindered much as it shows a fully expanded tree if that happens.
Bugs
Due to it's simplicity there are no known bugs in TulpaCMS.
If you spot one, please let me know!
Limitations
Consciously leaving out support for something makes it a "limitation", not a "bug", according to Microsoft...
UTF-8 characters render, save and filter very poorly, but as I don't see a need for proper Unicode support yet, I have not added it.(BTW, ØØææÅÅ)Does not yet handle menu display very well when accessing non-root nodes directly from the outside.- Me being bored has a tendency to fix limitations like these.







