“Expansions” revisited
Posted: 25 June 2007 09:28 AM   [ Ignore ]  
Moderator
Avatar
RankRankRankRankRankRankRank
Total Posts:  15450
Joined  05-15-2004

So we have modules, plugins, rather recently extensions, and now—expansions. Is there any development info on them? Is the MSM a one-of-a-kind add-on that onle EllisLab could pull off, or would it be possible for third-party developers to develop their own? does it need support in the EE core code? (I suppose so.)

In a word, what makes an expansion unique, how does it differ from, say, a module? Any more info would be greatly appreciated.

 Signature 

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

Profile
MSG
 
 
Posted: 25 June 2007 04:09 PM   [ Ignore ]   [ # 1 ]  
Research Scientist
Avatar
RankRankRankRankRankRank
Total Posts:  7534
Joined  08-05-2002

Plugin - Has its own tags, modifies or outputs text in template or custom field (formatting).  Does not require installation.

Module - Has its own tags, typically has database tables, has form actions.  Needs to be installed through Modules tab.

Extension - Modifies how ExpressionEngine’s underlying code works using extension hook(s).  Does not have actions, can have its own database tables.  Must be enabled in Extensions Manager.

Expansion - Expands what is currently possible in ExpressionEngine.  Think of an expansion pack for a video game.  Same game, but new abilities and powers expanding on what is already there.

 Signature 
Profile
 
 
Posted: 25 June 2007 04:22 PM   [ Ignore ]   [ # 2 ]  
Administrator
Avatar
RankRankRankRankRank
Total Posts:  2541
Joined  12-21-2001

To expand on what Paul wrote (I know… bad pun…):

It’s not impossible for a third-party to develop an Expansion with the creative use of extensions and modules, but since Expansions are broader in scope, touching more areas of the core application, it will be a more challenging proposition then it is for us, since we can alter the fundamental code as needed.

 Signature 
Profile
MSG
 
 
Posted: 25 June 2007 04:24 PM   [ Ignore ]   [ # 3 ]  
Research Scientist
Avatar
RankRankRankRankRankRank
Total Posts:  7534
Joined  08-05-2002

What Rick has said is fundamentally correct.

 Signature 
Profile
 
 
Posted: 26 July 2008 04:44 PM   [ Ignore ]   [ # 4 ]  
Grad Student
Rank
Total Posts:  44
Joined  09-08-2002

Ok, I’m new around here and digging for everything I can find to help overcome the learning curve; hence I’m picking up this dated discussion.

Module - Has its own tags, typically has database tables, has form actions.  Needs to be installed through Modules tab.

So, is the Pages module really a module?

I was looking into how it does what it does and found that yes it does have it’s form actions and it needs to be installed and it does have a configuration table; but, it definitely doesn’t have it’s own tags.  It looks to me to be more of a hack in the core.system.php that intercepts ee’s normal /template group/template/ structure and then calls the template specified to be used with the page.

Then it uses the weblog module to do all the work.

Am I missing something?  Do we plan to clean this process up in ee 2.0?

 Signature 

Everybody is entitled to my opinion!

Profile
 
 
Posted: 27 July 2008 02:27 AM   [ Ignore ]   [ # 5 ]  
Moderator
Avatar
RankRankRankRankRankRankRank
Total Posts:  15450
Joined  05-15-2004

Just for the record, and to put things into perscpective: when I started this thread I was not an employee of EllisLab, but I am now. The pages module is definitely a module. When Paul (CTO at the time) said that modules had their own tags, this is typically the case, of course, but there are exceptions. The pages module, the blacklist module, the referrer module… they all make do without tags of their own, while still being modules.

What exactly do you mean by cleaning up the process? The distinction between the various add-ons really makes a lot of sense once you get used to the underlying structure and data model.

 Signature 

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

Profile
MSG
 
 
Posted: 27 July 2008 05:19 AM   [ Ignore ]   [ # 6 ]  
Research Assistant
RankRankRank
Total Posts:  597
Joined  10-22-2006

And contrary to any third party addons a first party (EllisLab) module may of course come along with accompanying code in the core. Hence you cannot unconditionally compare it. Just think of the Weblog Module…

Profile
 
 
Posted: 27 July 2008 06:30 AM   [ Ignore ]   [ # 7 ]  
Grad Student
Rank
Total Posts:  44
Joined  09-08-2002

I stand corrected then.

I’m still trying to wrap my head around what and how ee does what it does so I can effectively adapt it to some very special objectives and don’t mean to come across as hyper-critical of the product.  To the contrary, it is a wonderfully elegant product which seems to be adaptable to anything and only limited by my own creativity.

My objective is to be able to let ee do all the heavy lifting in the core while still getting done what I want.  I’m still going through a paradigm shift and my apparent frustration is driven by my own limitation; not the products.

What exactly do you mean by cleaning up the process? The distinction between the various add-ons really makes a lot of sense once you get used to the underlying structure and data model.

I’m not sure.  It just seems like the cart is pulling the horse in pages.

 Signature 

Everybody is entitled to my opinion!

Profile
 
 
Posted: 27 July 2008 08:17 AM   [ Ignore ]   [ # 8 ]  
Research Assistant
RankRankRank
Total Posts:  597
Joined  10-22-2006
Herb - 27 July 2008 06:30 AM

My objective is to be able to let ee do all the heavy lifting in the core while still getting done what I want.  I’m still going through a paradigm shift and my apparent frustration is driven by my own limitation; not the products.

Just a side note. Hacking the core too much can really become a pain when it comes to regular updates so it’s probably best advice to keep your code separately.

Profile
 
 
Posted: 27 July 2008 08:39 AM   [ Ignore ]   [ # 9 ]  
Grad Student
Rank
Total Posts:  44
Joined  09-08-2002

Just a side note. Hacking the core too much can really become a pain when it comes to regular updates so it’s probably best advice to keep your code separately.

silenz you are 100% dead-on.  I want to be able to use the core “as is”, tapping into its strengths and using its built-in scalability to reach my intended goals.  Hacking always creates more work in the long run.

My intention is to never hack the core, or for that matter any modules either.  I was actually trying to figure out how the pages module does what it does, so I could figure out how to write module that can accomplish a somewhat similar objective as the pages module.  In other words build a module that works hand-in-hand with mod.weblog, but toward a different goal.

 Signature 

Everybody is entitled to my opinion!

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: 65026 Total Logged-in Users: 42
Total Topics: 82116 Total Anonymous Users: 18
Total Replies: 441305 Total Guests: 192
Total Posts: 523421    
Members ( View Memberlist )
Newest Members:  meenoiYang.JianuoioitsukiNathan HammondalexcigadamstaneckiLucas Mayscybermilltstitt