Extending the Members Module
Posted: 12 April 2008 07:02 PM   [ Ignore ]  
Summer Student
Avatar
Total Posts:  8
Joined  07-08-2004

How do I extend the members module. There is zero documentation in the developers section on how the members module accomplishes even half of what it does.

long face

I know because I read the entire developers guide including the module tutorial and the code for the Fortunes module - which incidentally does not cover half of the types of functionality that the members module provides. I need to add an extra section to the members’ public facing control panel. For example, the member control panel lets a member Edit Profile, Edit Avatar, Edit Signature, etc. I need to be able to add a new section Edit Foo, also with a form, and then be able to process that form. How do I do this?

Where do I setup the system that links e.g. http://site.com/index.php/member/foo/ to the proper display function for that form? http://site.com/index.php/member/register/ obviously uses mod.member_register.php which makes sense given the name but still, there is absolutely no documentation covering the fact that this is how modules work. Besides that the constructor for the Member_register class is blank. Instead the form is generated by the registration_form() function and there’s no documentation regarding how in the world http://site.com/index.php/member/register/ knows that it should run the registration_form() function. Not only that but then there’s the backend Admin section. There is nothing in the documentation explaining how to add sections to the Admin tab. In the Admin tab there is an area for member profile templates:

CP Home >  Admin >  Members and Groups >  Member Profile Templates >  Default

but there is no documentation for this section, what it does, what it’s for, how to use it, and there’s no way to add or remove templates or hook these templates to specific URLs.

What gives?  angry

By the way, the example.zip was corrupted when I tried to download it. I downloaded it a few different times using a few different methods. The example.zip that comes with the downloadable module documentation is fine. The one that is linked directly off of the online version is corrupted.

 Signature 

Komra Moriko
Creative Director / Analyst
AvenueVERVE |  http://www.avenueverve.com
office: 877.826.7729 |  cell: 617.584.2760

Profile
 
 
Posted: 13 April 2008 09:10 PM   [ Ignore ]   [ # 1 ]  
Summer Student
Avatar
Total Posts:  8
Joined  07-08-2004

nevermind i figured it out by just reading the code. so much for “developer documentation” smirk

This post can be marked as “closed” or “resolved” or whatever. I’ll open a new one with a more specific question should the need arise.

 Signature 

Komra Moriko
Creative Director / Analyst
AvenueVERVE |  http://www.avenueverve.com
office: 877.826.7729 |  cell: 617.584.2760

Profile
 
 
Posted: 13 April 2008 10:37 PM   [ Ignore ]   [ # 2 ]  
Moderator
Avatar
RankRankRankRankRankRankRank
Total Posts:  15488
Joined  05-15-2004

From what I understand, developer information should enable you to write your own modules and plugins; it is not meant as a documentation of existing ones. But glad you found what you were looking for in the source.

 Signature 

Everything will be good in the end. If it’s not good, it’s not the end.

Profile
MSG
 
 
Posted: 14 April 2008 12:46 AM   [ Ignore ]   [ # 3 ]  
Summer Student
Avatar
Total Posts:  8
Joined  07-08-2004
Ingmar - 13 April 2008 10:37 PM

it is not meant as a documentation of existing ones

but it should cover any techniques used in anything that is called a module so that anyone else can create modules with the same functionality. The developer documentation does NOT cover this.  oh oh

The member module is not a module, its functionality is implemented by modification of the base expression engine source, not achievable by pure addition of module classes alone. 

case closed. zipper

 Signature 

Komra Moriko
Creative Director / Analyst
AvenueVERVE |  http://www.avenueverve.com
office: 877.826.7729 |  cell: 617.584.2760

Profile
 
 
Posted: 14 April 2008 12:56 AM   [ Ignore ]   [ # 4 ]  
Summer Student
Avatar
Total Posts:  8
Joined  07-08-2004

P.S. case not entirely closed… someone please fix that corrupted example.zip download link

 Signature 

Komra Moriko
Creative Director / Analyst
AvenueVERVE |  http://www.avenueverve.com
office: 877.826.7729 |  cell: 617.584.2760

Profile
 
 
Posted: 04 June 2008 03:20 AM   [ Ignore ]   [ # 5 ]  
Grad Student
Avatar
Rank
Total Posts:  76
Joined  06-10-2007

Here’s my advice: Forget using the built in Members Module.

Being outside of the EE templates, it’s simply not flexible enough. It requires many hours of attention if you wish to do anything remotely customised. For me, it is my least favourite part of Expression Engine. I’m hoping for improvements in 2.0, but we’ll see…

A much more flexible solution is the SolSpace Users module.

By using that, and some relatively simple custom plugins I wrote, I’ve been able to set up all my member profiles to be /members/username, aswell as integrate all the registration, login, forgotten password etc all in to my templates.

Profile
 
 
Posted: 21 August 2008 10:44 AM   [ Ignore ]   [ # 6 ]  
Lab Assistant
Avatar
RankRank
Total Posts:  155
Joined  11-19-2007

I agree with Komra Moriko. It would be of great help if the documentation was created from comments in the source code rather than a limited selection of methods. We developers have to do anything it takes to sell a project to a client. Many instances it requires extending and to do so we need to know more about the core.

 Signature 

http://www.bbook.com

Profile
 
 
Posted: 25 August 2008 06:14 AM   [ Ignore ]   [ # 7 ]  
Research Assistant
Avatar
RankRankRank
Total Posts:  569
Joined  07-22-2004

Documentation is good.
Studying the source code is better.
Knowing the source code is best.

wink

 Signature 

ExpressionEngineer - custom solutions for EE

I EE

Profile
 
 
Posted: 25 August 2008 08:05 AM   [ Ignore ]   [ # 8 ]  
Lab Assistant
Avatar
RankRank
Total Posts:  247
Joined  04-12-2008
Komra Moriko - 13 April 2008 09:10 PM

nevermind i figured it out by just reading the code. so much for “developer documentation” smirk

This post can be marked as “closed” or “resolved” or whatever. I’ll open a new one with a more specific question should the need arise.

Would you mind giving us an insight? What did you find out, maybe this way others looking for someting similar will have to search less smile

I agree that knowing the code is best, but sometimes you don’t need to go through thousands of lines to acomplish something if the system you’re extending is well documented.

 Signature 

Designchuchi | Twitter

URL Field Extension
Required Category Extension
DC FreeForm GeoIP Extension

Profile
 
 
   
 
 
Post Marker Legend
New Topic New posts Hot Topic Hot Topic with new posts New Poll New Poll Moved Topic Moved Topic Sticky Topic Sticky topic
Old Topic No new posts Hot Old Topic Hot Topic with no new posts Old Poll Old Poll Closed Topic Closed Topic Announcement Announcements
Theme
Change Theme
Visitor Statistics
The most visitors ever was 1149, on July 16, 2007 09:33 AM
Total Registered Members: 65085 Total Logged-in Users: 39
Total Topics: 82223 Total Anonymous Users: 20
Total Replies: 441915 Total Guests: 223
Total Posts: 524138    
Members ( View Memberlist )
Newest Members:  BombermanhaimtuagocsadamVeNeaDoRHildegaardhrtrulzUNFORGIVEN IIIEmmanuelYanYanTomsB