Current/former Textpattern users: What do you think? (TXP5 using PW)
#1
Posted 10 January 2012 - 07:49 PM
I had the idea that perhaps TXP5 (Textpattern v. 5) could be built upon ProcessWire's API, using ProcessWire as a content management framework.
That means that Textpattern could inherit a bunch of great features from a content management framework rather than a blank-slate application framework. Textpattern would still work in a Textpattern-like way. It would still look like Textpattern. It might even mean that templates are still saved to the database. :-) But PW offers some incredible features that TXP users have been requesting for a long time. Everything from custom taxonomies and fields to multi-language front- and back-ends, to user management and ACLs.
In addition, ProcessWire has terrific documentation and comparatively short learning curve required to use its API.
I know we have some TXP users that hang out here, so I thought I'd ask--what would you think of a new Textpattern that was built on top of ProcessWire?
And ProcessWire users, what do you think of the idea of another CMS building on top of PW's API?
Ryan mentioned that he thinks it's a good fit, and would even be willing to maintain a pure framework version of ProcessWire if needed. That's a very generous offer so I thought at least I'd keep the idea bouncing around a bit.
The latest discussion in the Textpattern community (mostly talking about the pace of development) is happening in on the blog and in the comments.
#2
Posted 10 January 2012 - 10:49 PM
#3
Posted 11 January 2012 - 10:22 AM
ProcessWire is a more flexible framework than most in that it doesn't try to force you into anything. If you don't want to use some part of it, you don't have to. You can put your files where you want to. If you want to use MVC, great. If not, no problem. ProcessWire is not your mom. It's meant to be your friend like jQuery.
If another project picks up ProcessWire as a back-end CMF, I think that only benefits both projects. It's also a good opportunity to actively maintain a separate pure-framework version of ProcessWire, which is something that I've wanted to do, but didn't think folks would be interested. ProcessWire was a framework long before it was a CMS. The framework is already there (by using the include/bootstrap), so the framework version would basically be a blank version with nothing but a root, 404 and trash page (no admin pages).
The only issue I see from the framework perspective is namespace. ProcessWire was originally designed with PHP 5.3 namespaces in mind, so it has some pretty generic class names like "Database". Such class names could very well conflict with another application. So we'd likely rename our classes to be more PW specific, or we'd make PHP 5.3 a requirement and bring namespaces back into the fold.
#4
Posted 11 January 2012 - 10:32 AM
#5
Posted 11 January 2012 - 12:57 PM
Quote
Keep in mind these things that we would like to achieve:
* unlimited cats / taxonomy / custom fields
* a more normalised DB structure
* support for DBs other than just MySQL
* more installation options, e.g. choosing a default theme package or pre-packaged baseline to install
* namespacing so we can integrate more easily with other systems (e.g. having a global called “DB” is silly. It should at least be TXP_DB, but a proper namespace for the project would be preferable).
* a more secure tag parser (secondpass: Gocom!) [Note: Gocom is a TXP dev who's interested in security -Marc]
* better security for plugins, e.g. forcing variable types in core functions like lAtts() so plugins don’t have to do it, which will help reduce runtime errors and reduce opening unwitting security holes in plugins
* prevent any old PHP function being used as a tag (rah_function notwithstanding: that’s extended functionality which is acceptable, because it’s caveat utilitor; but it shouldn’t be default behaviour in the core, imo)
* better prefs handling
* simpler admin side interface building (at the moment it’s a real chore to build a screen under extensions — some API calls to simplify things (think: admin-side ‘tags’) would be a real help)
* improved user management API — remove reliance on flat file for privs/groups
* a more AJAXy workflow where it makes sense
* improved image/file support and workflow
That's from the comment section, here.
#6
Posted 11 January 2012 - 09:19 PM
#7
Posted 12 January 2012 - 05:14 AM
I like content PW user more than confused not-PW users :)
#8
Posted 12 January 2012 - 11:58 AM
Also, Stef is the only active TXP5 developer at this time.
From the other devs (either plugin devs or TXP4 development) mostly there is a strange reluctance to comment in depth on the entire issue of TXP5 development. I get the feeling that there is a lot of hesitance to build on a framework like spark/plug, but again nobody has really gone into detail about their feelings for what should be changed with TXP5 development when those complaints come up. That could be because Stef is doing all the work.
IMO there are a lot of PHP developers in the world who are sick of hearing about frameworks, period. And for me it's a bit awkward to see ProcessWire confused with a coding framework, just because it's called a "content management framework." Sometimes I wish we could just call it "ProcessWire Developer's Friend CMS Builder 2013--Keep Coding the way you Always Have" or something like that.
I've also heard from former TXP people who are now using ProcessWire as a CMS--positive comments, of course, but I'd imagine that to a TXP developer that could really push the wrong button. Kind of a touchy issue. Touchy because TXP5 development has been slow, I think.
#9
Posted 12 January 2012 - 12:26 PM
I also don't think it solves everything they are trying to do. For instance, PW already has a strong hook system in place, whereas their need is to support an existing one and maintain compatibility with it. Their list also indicated one of the goals as database independence, and PW is dependent on MySQL and certain aspects like indexes (fulltext indexes for example, which are far from universal).
On the other hand, I do think PW as a framework would solve MOST of the things they are wanting to do, just not all of them. But that's only a surface evaluation and there may be much more to it when considered in the context of the TXP system, history, requirements, code as a whole. That's not something that I think any of us can evaluate. And especially not me, since I don't have much experience with TXP. But I think the best thing I can do is just express support and enthusiasm for the idea should it ever become a consideration. Lots of respect to Textpattern as a long running quality platform and group of folks that knows how to build a great CMS.
#10
Posted 12 January 2012 - 08:03 PM
Really interested now to see what kind of project might come by and pick up ProcessWire as the API/framework for a public, open-source CMS. I really think it could be a great platform for getting into advanced publishing UI, workflow polishing, etc. More lipstick and eyeliner than girders. Or something.
#11
Posted 13 January 2012 - 09:24 AM
Quote
ProcessWire's selector operators *= and ~= rely on fulltext indexes, and I consider these crucial, which why ProcessWire is build around MySQL (MyISAM). Otherwise we'd be using MySQL INNODB and supporting other databases. The only other databases that one comes across regularly in commercial hosting environments are PostgreSQL and SQLite, neither of which support fulltext indexing, last I checked. So it's not a matter of wanting to support other databases, so much as it is a matter of what we need to do isn't easily done on other databases we're likely to encounter.
Quote
Don't forget ProcessWire is a public open-source CMS, so it's what we're already doing and will continue doing.
On the other hand, I've always been intrigued by Textpattern, its tag language and of course Textile which came from it. While I've not developed a full site in it yet, I can tell that it's got some real intelligence behind it and it feels a lot more cohesive to me than the other big platforms. That's why I'm enthusiastic even about the idea of it with a ProcessWire framework behind it and would see it as a mutual benefit to both projects. While I think them adopting ProcessWire for their backend is unlikely (given what they've already invested), I think there's still much we can learn from Textpattern. The fact that we've had so many Textpattern users take a strong interest in ProcessWire has likewise made me interested in the Textpattern project.
#12
Posted 13 January 2012 - 07:11 PM
Quote
I do too. Am I correct in thinking that supporting multiple database systems is a significant limitation in terms of the CMS's database tools & feature set?
Quote
Of course.
Quote
This really hit me during my last PW project. I compared development times and feature set with similar websites in other enterprise CMS systems and hurriedly put away my calculator before retroactive depression set in. Ha.
Quote
See, that's what I like about it, too. It may be a horse-and-buggy setup compared to some, but if so it's an extremely nice one. I normally find it difficult to keep dogfooding the old stuff once the new dogfood arrives, but I haven't had that experience with my Textpattern installs. I keep them running and enjoy them for what they are.
Quote
Yep, seems unlikely at this point...but who knows where things will go. And for all I know, it might not be a good fit in some way I just don't understand. I have complete trust in Stef's ability to really get things moving and break through issues that are holding things up.
Quote
It's good to hear that!
#13
Posted 14 January 2012 - 05:40 PM
"(...) PostgreSQL and SQLite, neither of which support fulltext indexing, last I checked."
Well, SQLite does support fulltext searching and indexing!
Please see:
http://sqlite.org/fts3.html
Could SQLite be, perhaps, a good candidate for an alternative SQL backend for PW ?
Regards
#14
Posted 18 February 2012 - 06:30 PM
ryan, on 13 January 2012 - 09:24 AM, said:
Hmm - as a Postgres devotee perhaps I could mention that we've had full text indexing since the early Triassic:
http://www.postgresq...arch-intro.html
Much more sophisticated that MyIsam too, with lexical parsing to handle plurals etc, stopwords, synonym dictionaries and highly optimised indexing. And of course you get all the other Postgres goodies such as intelligent engineering, bomb-proof data integrity (haven't lost a byte of data in 10 years), and a sensible licence.
<rant>I'm having to use MySQL for a current project, and I've been dismayed by what I've found. This is the 21st century, and they are openly admitting that their query parser is so dumb that they still haven't figured out a way to offer functioning sub-queries! They're expected "some time soon". I'm sure your clients would appreciate the option of using a database built by a community who would never dream of knowingly releasing an upgrade with 300 known crashing and critical bugs: http://monty-says.bl...1-released.html
#15
Posted 20 February 2012 - 01:57 PM
I'm sure there is lots to like about PostgreSQL and I like everything I've read. I would love to support it in a future version of ProcessWire. I'm sure that it has many great things relative to others, like you've stated. But I also think that most web developers' reality is not one where the use of one database over another matters very much. I've used MySQL every day for the last 12 years and have never had a concerning situation or ever lost data in any form. MySQL has been one of the most reliable tools I've dealt with, and is one of the things I've been able to depend on most among all the tools I use. So my point is that these factors may matter to someone that works a lot with databases on their own, but they may not weigh so heavily to the larger web developer audience. Still, I'm very interested and supportive of PostgreSQL support in ProcessWire. The only reason I didn't built in support in the beginning is due to the lack of fulltext index support at the time.
#16
Posted 11 March 2012 - 06:19 PM
Very informative topic, answers several questions I had about the DB choices in pw.
I too would like to see pw adopt a more flexible attitude to backend DB engine and even sub-engine as I have found InnoDB to be a more reliable storage engine than MyISAM in MySQL. I see that InnoDB, too, has recently gained fulltext index support so I hope whatever DB extensions make it into pw also include a MySQL+InnoDB option.
Further, and keeping with the Textpattern theme that kicked off the topic, there seems to have been a recent trend amoung some Textpattern users to move Textpattern's presentation elements (pages/forms/styles) out of the DB and onto the server filesystem (at least while sites are under development) in order to allow them to be placed under version control. I do this myself for some sites I develop in Textpattern and there is a useful plugin that facilitates this.
Is the same possible in pw?
#17
Posted 12 March 2012 - 02:45 AM
And regarding database, I'll leave this to someone more knowledgable.
I like content PW user more than confused not-PW users :)
#18
Posted 12 March 2012 - 09:04 AM
Fulltext indexes really were our own MySQL/MyISAM dependency, so with PostgreSQL, MySQL/InnoDB and even SQLite now offering support, it will be possible to get PW going in more database platforms without too much effort.
#19
Posted 12 March 2012 - 02:41 PM
Out of curiosity, is there a set of unit tests/fixtures for pw? Something that folks could take and use to ensure stuff they were working wasn't breaking anything? I didn't spot anything during a brief look at the pw directory structure.
#20
Posted 12 March 2012 - 06:22 PM
adamkiss, on 12 March 2012 - 02:45 AM, said:
And regarding database, I'll leave this to someone more knowledgable.
Hi adamkiss,
Ok, so could I just version control all the files in the /site directory? I guess I could, that would kind of make sense.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












