Hacker News new | past | comments | ask | show | jobs | submit login
Ten thousand reasons to use Textpattern (textpattern.com)
75 points by Tomte on March 24, 2021 | hide | past | favorite | 30 comments



I remember paying for a lifetime of hosting on TextDrive by the developers of TextPattern, which then got sold to Joyent (now owned by Samsung) and they they killed all the lifetime hosting. I did like TextPattern though, and I learned a valuable lesson about what lifetime means. To be fair I think the original founders relaunched TextDrive and honored the lifetime hosting but at that point I had moved on.


In a corporate context, "lifetime" means almost nothing, it's a marketing slogan. Just like "unlimited bandwidth", "unlimited storage", and "we take your privacy and security very seriously".


Oh I remember the old Joyent website. It had a great design, I visited it pretty much everyday just for the design and the illustrations. Then, one day it became corporatish and soulless and a great corner of the internet lost its beauty.


After having been burned one too many times, I now mentally substitute "lifetime" with "data loss".

Services pitching "lifetime" seem to either wildly miscalculate the effect of pathological usage, fail to do accurate math on support, or are betting on shifts in the pricing of storage/bandwidth or computer that fail to emerge.

There's a lot of justifiable angst around "everything becoming a SAAS" but if I'm comparing services and betting which will be around in a year: I'm paying the monthly fee.


So many fond memories of being in this community around 2004–2006! I got a 1st place prize in a Textpattern theme design contest and won my first ever prize, and quite a big one for a Ukrainian student — an iPod (the original one, 60GB). Having my own digital music player was life changing at the time!

Great to hear Textpattern is still around. Loved it for its simplicity, easy customization and a friendly community.


>I got a 1st place prize in a Textpattern theme design contest and won my first ever prize, and quite a big one for a Ukrainian student — an iPod (the original one, 60GB).

That sounds a lot like:

https://www.textplates.com

Am I close?

Edit: it was you!–

https://www.textplates.com/2007/08/01/the-results

>Loved it for its simplicity, easy customization and a friendly community.

It's still simple-ish, lots of previously external plugins have been merged into the core, and the community is friendly, helpful and mostly harmless.


Yes! Although this particular one was a year later, I got runner-up and a bunch of tech books as a prize :)


This post could have been me, for when discovering ProcessWire (https://processwire.com/) after 10-ish years of Drupal (also trying out Joomla, Wordpress, Typo3... (well tried installing it at least) and perhaps a few others).

The main differences would be that in Processwire, you don't even need to install plugins, as all different types of displays are so easily created from scratch in the pure-PHP templates, using PW's extremely awesome jquery-like API for getting content (see the cheatsheet for an idea: https://cheatsheet.processwire.com/).

The community is great too.

From the post, I understand textpattern might allow editing designs from the UI as well though? That'd be nice... although upon thinking about it, such a feature could also be implemented with a few lines of code in ProcessWire, exposing a field for the UI, that would be processed in the php templates.


> I understand textpattern might allow editing designs from the UI as well though?

Yes, everything is stored in the database, and Textpattern has an integrated text editor for templates and CSS, with a rudimentary form builder (basically search for txp tags and drag them in).


Textpattern added external theme support in 4.7:

https://textpattern.com/weblog/textpattern-cms-470-released-...

Theme components are import-able and export-able via the file system, which makes it more portable.


I see! I reckon I should give it a try some day...


Well, there's a blast from the past. I thought WordPress had squashed tp long ago. Happy to be wrong about that.

Bit surprised it's still alive, supports modern php - but apparently still require mysql/MariaDB - no sqlite, no postgresql support?

Still, if it ever saves me from managing WordPress with its awful plug-ins... I could see admining a dedicated mysql instance being worth the effort...


> no sqlite, no postgresql support?

Sadly not. We haven't made the jump to PDO (yet) and still use some MySQL-specific database features, such as ordering by FIELD. Once we wean the core code off that and schedule in the migration to PDO with all the prepare/execute goodness that brings, we'll support whatever database engines that PHP offer under PDO.


Funny, I think I first heard about textpattern and PDO at approximately the same time...


Haha. Yeah. Moving to PDO has been on the todo list for well over a decade and keeps getting pushed back. It's hard graft to refactor all the underlying calls and decide whether we want an ORM layer or not, and which to choose or roll-our-own, and then change all the places in the code that use the DB layer to do prepare-execute. And the plugin upheaval that rides its coattails.

It's one of those things that's always overlooked in the "ain't broke so don't fix it" camp. But I know it needs doing. One day...


> change all the places in the code that use the DB layer to do prepare-execute.

Take this with a big grain of salt, but I vaguely remember tp not being great at using prepared statements / safe quoting provided by the db driver - has that been improved (if it ever was a problem)? Is it easy for plug-ins to accidentally open up to sql injection?


Prepared whatnow? :)

Nope, we don't use them yet. Bane of my life. We rely on all core calls and plugin authors escaping content before calling our DB layer.

That has to change and will be part of the move to PDO. It's just a lot of faff work and there are always shinier things to work on.

I've been secretly hoping that some kind soul will do it and issue a Pull Request. But maybe I should stop being lazy, bite the bullet and do it myself!


Thank you for your candid reply.

I had a nagging memory of some troubles from bugtraq or an equivalent list (mind, many, many cms and blogs had trouble with sqli..).

I am a bit surprised that hasn't been (universally, permanently) fixed in the last decade, though.


Textpattern person here.

>I thought WordPress had squashed tp long ago.

Wordpress is much more widely-used. Textpattern is still around!

Edit: I almost forgot about this:

https://wordpress.org/news/2006/04/wordpattern/

>supports modern php - but apparently still require mysql/MariaDB - no sqlite, no postgresql support?

Correct. MySQL and store brand remixes mostly work just fine, no plans for SQLite or PostgreSQL as far as I know. Pull requests are welcome!

https://github.com/textpattern/textpattern


I'm sure mysql works perfectly fine for text pattern - but if I already need to maintain a postgresql db with backups and point-in-time recovery (or rent a managed instance) - not needing to setup mysql would be nice.

And as for sqlite - it would allow for even simpler setups (and quite[1] easy backups).

[1] via the backup dot command for example https://stackoverflow.com/a/34577922


WordPress is probably stronger than ever right now. I've never selected it for a project, never seen any client select it on purpose, never seen anyone give it more than a lukewarm endorsement, yet it still shows up everywhere. Even in giant enterprises. It's inescapable and undying. I suppose that's as good as testament as anything that it's not nearly as bad as people say.


I went the other way and was a WP plugin and theme developer in the mid/late 2000s. I never really gave alternative tools like moveable type or text pattern a try but now I’m feeling like it would be fun to experiment with them.


Blimey, I'd forgotten all about this bit of software. I built a site in about 2006 with it.

What could you do in TextPattern today that you couldn't do with WordPress?


Textpattern person here.

>What could you do in TextPattern today that you couldn't do with WordPress?

Honestly? Nothing I can immediately think of, given the vastness of Wordpress and its ecosystem of plugins, themes, etc.

We like efficiency, we like performance, we like people who like to write. We're a good community overall. I am involved with Textpattern mostly because of the people, not the code.


I love Textpattern, though I haven't used it lately.

My dream would be Textpattern as the admin/author facing side, and then static site generation from that. I don't think there is a good plugin for that, yet.


Author of the OP article here.

One of the other devs has put together etc_cache which rolled in some static-site-esque goodness. http://www.iut-fbleau.fr/projet/etc/index.php?id=52

It's not a true SSG but intelligent cache based on the database knowing what's changed and what hasn't. Might be worth a look for your next project. Coupled with the fact you no longer need to do the staging server dance, iterating or redesigning is a lot more streamlined than it once was.

See: https://textpattern.com/weblog/the-end-of-the-web-developmen...

We'd love to see what you can do with Textpattern since you last dabbled.


I'm not familiar with SSGs - are they any that can take a sitemap (XML or whatever), bulk curl / wget the contents and save as flat files?

If so, it should be easy enough to build a Textpattern sitemap scaffold with all the pages / articles / etc and then run a generator against it to spit out the files.


I'd probably just use wget directly, then. But it's another manual step, it would be cool to hand a prepared TP instance to someone and say "in this folder is your web site, upload it wherever you want".

I have no idea how hard it would be to write such a plugin. Never looked into the dev side of TP, only used it back then.

It's a niche idea, sure. Most people would want to use a "proper" SSG anyway.

Edit: Actually, we two already talked about that here: https://news.ycombinator.com/item?id=23050113

You probably don't remember, either? :-)


>You probably don't remember, either? :-)

Actually I did, I just didn't want to make it awkward!


Might take a look into SGML: renders server-side and in the browser, based on static files rather than databases (though you can fetch from DBs, services, or other resources as well), based on the ISO standard that kicked (and still encompasses) all of HTML and XML, powerful templating without reaching Turing-completeness, markdown and other custom syntax support, HTML-aware injection-free templating, finite-state automata for stylesheets and other context-dependent templating ...




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: