Textpattern CMS support forum

You are not logged in. Register | Login | Help

#11 2009-03-05 02:16:39

kevinpotts
Member
From: Kansas City
Registered: 2004-12-07
Posts: 364
Website

Re: Regarding Community-Driven Sites with TXP

wet wrote:

As an estimate of how much effort it costs to transform a Textpatternish CMS into something user- and community-driven, have a look at the previously mentioned BuddyPress which tries to be this solution based on a conglomerate of WordPress with an orchestrated assortment of plugins.

Wet, thanks for this insight. It’s always good to hear this type of thing from a core developer, since I really have no clue what it takes to accomplish what I described. I guess my question is this: is it difficult to add tables to the database to accomodate additional user fields? These don’t have to be anything fancy — I envision functionality not unlike custom fields for articles where it simply provides a value that plugin developers or dumb guys like me can hook into and display attributes on that user once they are logged in. To me, and I know I am naive, it feels like Textpattern is close to this — the fact that it already supports username, password and e-mail values, as well as permission levels for editing content, makes me think that the architecture is already halfway there.

I’m not asking for a code rewrite for 4.0.9. But possibly some emerging functionality in 4.1? Textpattern elegantly covers so many other bases of a website that it’s a no-brainer for clients, and this icing on the cake would allow us faithful to really take the CMS to the next level.

Thanks.

Last edited by kevinpotts (2009-03-05 02:22:55)

Offline

#12 2009-03-05 05:10:41

wet
Developer
From: Lenzing, Austria
Registered: 2005-06-06
Posts: 3,267
Website

Re: Regarding Community-Driven Sites with TXP

kevinpotts wrote:

I envision functionality not unlike custom fields for articles where it simply provides a value that plugin developers or dumb guys like me can hook into and display attributes

How will this fields be populated? Sketch a user story, please.

Offline

#13 2009-03-05 16:02:55

Zanza
Plugin Author
Registered: 2005-08-18
Posts: 699
Website

Re: Regarding Community-Driven Sites with TXP

Not a story, but two things (that I temporarely achieved with Bloke’s triumvirates, minus one…) that would help out of the box, and that could be a useful step in the direction Kevin asks for, are:

  1. The ability to provide a self registering form by default, to output in a page template using a tag or a txp form (like the comment form). In that page, people could register themselves to a default (or customizable by devs) user level. The functionality to be providen is to check about conflicting user names, and inserting the user data in the user table. The rvm privileged plugin already offers the possibility to serve different content to different user based on their level, so it would be that simple. Back to the developer to provide content for the registered users. This is a duplication of mem_self_register, but done in a more stable way, to make sure that nothing brokes with following releases. That would encourage people using it without too much worries. A functionality about password recovering on the front end (similar to that in the textpattern back door) should be provided as a complement.
  2. Not a big need right now, but I think the possibility of having a more complex user information/profile fields by default, and a way to present them in the very same form as above, could be useful. At the same time, front end tags should be provided for a page template to allow users to edit their data without entering the txp back-end.

Many more things could be useful (favorite tracking, communication tools, groups, etc.) but this should be the bare minimum in the core from my pov, if we want txp to become a more social Cms. Is this useful? I don’t know how difficult this is for a core developer, maybe not trivial.

Offline

#14 2009-03-05 16:36:50

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 8,620
Website

Re: Regarding Community-Driven Sites with TXP

Zanza wrote:

the possibility of having a more complex user information/profile fields by default, and a way to present them in the very same form as above

This is prime plugin territory, imo. If you add columns to the user table by default, you might decide you require phone number, department and job title but someone else might want home address, work address, extension, mobile number, and manager name. Which does the core offer?

A generic plugin that could extend the txp_user table by allowing an arbitrary number of configurable columns to be added and named (and optionally data validated?) is all that is required. One new tag <txp:xxx_get_info type="home_address" /> (etc) allows you to read stuff out and — as you say — some extendable version of mem_self_register allows info to be input to the core+extra fields. I’d even go as far as saying that a lot of the input functionality coud be achieved with an interface to mem_form.

Once you have that in place, then you can build an application around it far more easily than at present. It’s extensible in terms of the data you can collect about people — one more tab on the Extensions page is used to configure your new columns — and TXP can then be tailored to your individual requirements without getting the core messy. And you don’t require PHP knowledge to use it because the plugin protects you from all of that.

Hell, why not go the whole hog and allow any number of columns to be added to any table? You could write admin screens (albeit on the public side) yourself using ign_password_protect to allow administrators to input any data to your new columns, and use the same <txp:xxx_get_info table="txp_whatever" type="column_name" /> to read them out? It’s not “out of the box” functionality but then not everybody needs a community-driven site out of the box. Those that do can wrestle with Joomla’s bloated core or use a TXP plugin!

Alright, it’s probably a tad more complex than that stuff whipped off the top of my head. But it’s just code ;-)

Last edited by Bloke (2009-03-05 16:39:56)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#15 2009-03-05 19:55:54

jm
Plugin Author
From: Missoula, MT
Registered: 2005-11-27
Posts: 1,746
Website

Re: Regarding Community-Driven Sites with TXP

Bloke wrote:

Hell, why not go the whole hog and allow any number of columns to be added to any table?

The downsides to this are redundancy and update anomalies. I think creating separate tables would be a much better idea.

As far as adding more fields and specialized datatypes, it might be worthwhile to see how Symphony implements these.

Offline

#16 2009-03-06 08:10:30

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 8,620
Website

Re: Regarding Community-Driven Sites with TXP

jm wrote:

I think creating separate tables would be a much better idea.

Good point. Told you I’d not thought it through properly!


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#17 2009-03-09 01:28:45

maverick
Member
From: Southeastern Michigan, USA
Registered: 2005-01-14
Posts: 960
Website

Re: Regarding Community-Driven Sites with TXP

Tangent:

jm wrote:

it might be worthwhile to see how Symphony implements these.

I find Symphony intriguing in concept, and humbling to learn :-)

I like the paradigm shift that eliminates the distinction between “front end” and “back end” in Symphony 2.x beta . I love the simplicity and power of Txp and its tags. I’ve thought on several occasions about what would happen if the two ideas met and become one.

I realize it probably is not practical, or even possible (I’m one of the non-programmers).

But imagine the possibilities if the back end was implemented as tags. Want users in the front end? there’s a tag for that, and it can be used anywhere. It comes standard in the Admin tab, but feel free to put it on a “front” end page. Need to have a place to enter data in custom fields, or want to edit an article directly? No problem, do it from the front end if you like.

On the back side, think of the power of being able to customize almost any tab. All the threads discussing re-deigned backends and admin themes could be eliminated because their needs could met as easily as designing any txp driven web page.

In my mind’s eye, there’s a standard layout shipped “out of the box”. Then you add or delete the tags on any back end page to make it what your heart desires.

Want to have custom fields available on a write page? It’s just a tag you add. Want to hide it from some users? Wrap the custom field tag in a conditional tag. Want the excerpt on top? It’s just a tag – move it wherever you want. Or eliminate completely.

Some of the dashboard hacks/plugins even have a tease at this.

Oh well. Day dreaming over. Back to reality LOL

Peace
Mike

Offline

#18 2009-03-10 09:14:36

Destry
Moderator
From: Haut-Rhin
Registered: 2004-08-04
Posts: 4,179
Website

Re: Regarding Community-Driven Sites with TXP

Bloke wrote:

Yeah, the usual triumvirate that is ign_password_protect, mem_self_register and zem_contact_reborn (and/or mem_form to make it a quadrumvirate).

Thanks for the clarification.

to be fair, MLP lives on thanks to Graeme’s patch for the time being and will continue to do so for the foreseeable future if I have anything to say about it. The trouble with MLP is that it’s actually a massive hack. Even a daily build of TXP can (and does) break it :-(

You and Graeme — Aces!

Massive hack — joker.

Talk to jstubbs. I think he’s done something similar for the snoooz tennis site (I think).

Thanks for the tip.

/* light bulb turns on */

Hey, maybe it’s in TXP Tips…


The text persuades, the *notes prove。

Offline

Board footer

Powered by FluxBB