Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 100093
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:30:48+00:00 2026-05-11T00:30:48+00:00

In my analysis of the newer web platforms/applications, such as Drupal, WordPress, and Salesforce,

  • 0

In my analysis of the newer web platforms/applications, such as Drupal, WordPress, and Salesforce, many of them create their software based on the concept of modularization: Where developers can create new extensions and applications without needing to change code in the ‘core’ system maintained by the lead developers. In particular, I know Drupal uses a ‘hook’ system, but I don’t know much about the engine or design that implements it.

If you were to go down a path of creating an application and you wanted a system that allowed for modularization, where do you start? Is this a particular design pattern that everyone knows about? Is there a handbook that this paradigm tends to subscribe to? Are their any websites that discuss this type of development from the ground-up?

I know some people point directly to OOP, but that doesn’t seem to be the same thing, entirely.

This particular system I’m planning leans more towards something like Salesforce, but it is not a CRM system.

For the sake of the question, please ignore the Buy vs. Build argument, as that consideration is already in the works. Right now, I’m researching the build aspect.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:30:48+00:00Added an answer on May 11, 2026 at 12:30 am

    There are two ways to go around here, which one to take depends on how will your software behave.

    One way is the plugin route, where people can install new code into the application modifying the relevant aspects. This route demands your application is installable and not only offered as a service (or else that you install and review code sent in by third parties, a nightmare).

    The other way is to offer an API, which can be called by the relevant parties and make the application transfer control to code located elsewhere (a la Facebook apps) or make the application to do as the API commands enable the developer (a la Google Maps).

    Even though the mechanisms vary and how to actually implement them differ, you have to, in any case, define

    • What freedom will I let the users have?
    • What services will I offer for programmers to customize the application?

    and the most important thing:

    • How to enable this in my code while remaining secure and robust. This is usually done by sandboxing the code, validating inputs and potentially offering limited capabilities to the users.

    In this context, hooks are predefined places in the code that call all the registered plugins’ hook function, if defined, modifying the standard behavior of the application. For example, if you have a function that renders a background you can have

    function renderBackground() {     foreach (Plugin p in getRegisteredPlugins()) {         if (p.rendersBackground) p.renderBackground();     }     //Standard background code if nothing got executed (or it still runs,      //according to needs) } 

    In this case you have the ‘renderBackground’ hook that plugins can implement to change the background.

    In an API way, the user application would call your service to get the background rendered

    //other code Background b = Salesforce2.AjaxRequest('getBackground',RGB(255,10,0)); //the app now has the result of calling you 

    This is all also related to the Hollywood principle, which is a good thing to apply, but sometimes it’s just not practical.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm creating a Web Start application which would benefit from some of the newer
An analysis from a colleague with UML diagrams contains the following: 0..° I'm familiar
This is about the analysis of insertion sort in the book 'Introduction to Algorithms'.
Any ideas about escape analysis in dalvik? Or when and if it's planned to
Which static analysis tools for Java has easiest extension mechanism. I checked PMD But
I ran a Code Analysis and got this message: Warning 5 CA1822 : Microsoft.Performance
Can I install code analysis in VSTS2008 SP1 without the original installation media? Is
I have some data analysis that needs to perform. On average, it would involve
Our static analysis tool complains about a useless type qualifier on return type when
I have several Code Analysis CA1704:IdentifiersShouldBeSpelledCorrectly warnings that I want to suppress. Basically, they

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.