Teaching the world notions of architecture, complexity and behaviors


Surely people are not sure what the word architecture combined with a process of agile development and deployment.

I will try to highlight the architectural complexity of the model and mention anything that may be involved in a portal architecture.

The product of choice is Drupal, but Drupal is not the center of architecture, but a spot in it.

A good architecture should be adaptable to another product without excessive complexity and keeping his footing.

To do this we will go from the system moving towards development and ending with a community of portals.

Five keys

i.- Architectural Keys: The relationship between common components for portals is architecture

How to get a set of portals? Do you really think that a portal to another there are so many differences?

The reality is that no, their similarities rarely below 90% of the common components used.

Therefore, the need to prepare a component architecture that allows an easy re use.

This architecture requires a comprehensive documentation system, to assist in identifying and more adequately diagnose the satisfaction of requirements.

These relationships should be made for functionality common.

Drupal enables us to work, as already proposed its own set of relationships between modules, but we must continue that same work organizing many other components that we create.

To provide a basis initial proposed subdivision indicate Drupal.

Is already specified a list of the most common features of most websites:

- Authentication

- Presentation of content

- Communities

- Managing Users

- Mail - Lists - Forums

- Advertisement - PopUps

- Location

- Search

- Syndication

The Drupal community structure and even modules in a complete set of features that add to the most common.


- Utilities

- Content Management

- Administration

- Content Types

- Development

- Community

- Media

- E-Commerce

- Filters - Input format

- Views

- Categories

- Mobility

- Javascript Utilities

- Navigation

- Management - Files

- Backup - Import - Export

- Paging

- Security

- Prevent Spam

- Evaluation - votes

- Localization - Languages

- Organic Groups

- Statistics

- Events & Workflow

- Performance

- Games

- RDF - Formats

- Management Paths

It is a base to organize a component structure consistent with a simple re use.

b.- Architectural Keys: The relationship with other products to enable better deployment is architecture

The ability to meet the requirements does not depend on a single product or a single development.

It's free philosophy, our success is intrinsically linked to that of the components used.

Among all grow to improve the quality and it is this quality that allows us to succeed and indirectly improve the applications available to society.

Therefore, improving society.

And is that in terms of poor quality projects the software has been a clear example, because anyone can put a schedule, to try to get the job, as called in my country, regardless of architecture, robustness, security, only goal is to work.

It was that one of the pillars of corporate software failure.

In Drupal in particular and free software in general is not so.

Or should not, because even I have discussed this issue with many people who can not see the software developers and architects should be high profile and expertise and familiarity with the product.

So these changes should be requested to the profiles more in line for it, which are often responsible for that module or theme and that the requested change will enrich the product.

This should be the line of action, and in this line, the increase or improve the functionality provided by Drupal should be an important aspect when addressing the requirements of a future project.

Therefore we consider it more important to share skills with other products and together find a common ideal to have a more robust attempt to make war on each their own.

We must all make the product even better and that means that all components and companies involved in it are also becoming better.

Drupal is why you want even better Varnish, which Memcached increase its efficiency.

Apache, Ngnix, Ligthttp are becoming faster.

MySQL more efficiently.

Php that gets better every day.

That is the free philosophy .

A commitment for quality.

d.- Architectural Keys: The interface between different systems is architecture

An overview to help you consolidate the required needs and better serve them with existing systems implies an appropriate approach for future performance and sizing of the portal.

Can use other tools such as Apache Solr to handle searches and filters is a decision that allows our portals to perform at a level better than with the structure of Drupal search.

Delegate to other products and use the modules as containers for configuration information and is a successful approach already followed by Drupal, from the famous Jquery to other modules that allow you to use products or services in order to realize their functionality.

Acquia offers Solr Apache as a service, for example.

It is one of many ways to combine efforts and see the success of the system as a relationship.

So make a good architecture is about making a good relationship with the possibilities of each moment and be aware that the state of the art is constantly changing these relations, which is directly related to the current version of Drupal and any other improvements in other components decant that our architecture can become obsolete.

That is why an ongoing study of the state of the art systems is essential for proper architectural approach with Drupal.

f.- Architectural Keys: The definition of the names of architectural components is architecture

It is a universal standard in programming, trying to identify the functionality of the variables, functions, applications, etc.

This identification implies an appointment seeking maximum simplicity and characterization of components.

The aim is to fight for a maintainable system that involves the least effort to learn the functionalities implemented.

Therefore, in addition to betting on a document management, we must also consider the appointment of components suitable as another important point to keep the architecture appropriately.

For example, one should view with only the name of it to know:

- What kind of view is, focusing on the guy format it.

- What content to display

- If the view are receiving and how many parameters would

- If the view are going to belong to a data type or is a general view

All this information should give it to us the name of the hearing.

Why is it important to complete coding systems?

Because our goal is to reuse the same view and to be able to diagnose the functionality we are valid or not without having to reach the moment of release.

Without doubt, this and many other architectural parameters are beginning to see its meaning when the number of views and number of sites increases dramatically.

There is nothing new, these techniques are contrasted and methodologies of systems, good programming practices in systematic approaches such as CMMI and ITIL today, are common features of any architecture.

k.- Architectural Keys: The management and control components of the portals is architecture

We talked about relations between components, but we must also note the organization of the same.

Getting a simple system that allows localization of components and easy integration into an environment of that component or functionality, linking a range of components is a credit to good architecture.

No doubt a structural level a system of symbolic links facilitate this work.

We discuss below the recommended structure to Vector SF and other partners to and that is being used on servers Brqx.

The structure has an unmistakable character fit in any system.

The initial word "brqx" whatever that is identifying, serves two purposes:

1 . - Do not be confused with a directory where you install any systems (Unix, Mac, Windows).

2. - Do not be confused with any definite plan, it never made any plans that call brqx.

The second string defines the word level:

- Base : Product Level (Products level)

- Lnk : Level of links (link level)

- Proy : Project level (here, English is different: Project Level)

- Pers : Customizations

- www : Final level of sites (site level)

The third term of the string defines the product.

We start with Drupal, but the structure is designed to suit any product.


The fourth word defines the version of the product.

It puts a letter because many systems have problems if a folder starts with number.

- v50

- v60

- v70

Once you have selected the version defined three levels:

- core - 'Core' unchanged for Drupal

- modules - 'Modules' Drupal Modules

- themes - ' Themes' Drupal Themes

For now we will not delve further into the structure.

We're just going to indicate an example of it:





Now about the level 2.

At this level indicate the components that are certified and / or final versions being used.

The initial path is similar:


Here we specify the functional cores formed with links (already certified versions)

We can see the core bas (base module) that defines the basic functionality required for all sites of architecture.

The path of this common functionality is:


The modules that form:

a/ajax ' /brqx/lnk/drupal/v60/modules/abc/a/ajax

c/cck ' /brqx/lnk/drupal/v60/modules/abc/c/cck

This information is now obsolete, but certainly one way to teach when organizing a complete and complex architectural approach applies to a multi site development system with a philosophy of simplicity.

The advantage of using a homogeneous structure is that the processes can be automated, therefore Drush applications as well as our scripting architecture allows us flexibility in developing out of the común.

Althought sites functions are not completely updated, this architecture is downloadable from the internet:

Unix Scripting Brqx

Policies allow scripts to an agility that can not get in a web process.

Drupal knows. The Drupalers know.I invite you to learn how to create shell scripts to automate processes, customize settings.

There is so much to be learned that enhances the final product.

Drupal Arquitect: Ricardo Cabello Torres

I am available for work job as Agile Architect Drupal or offer my design services portals Portals Professionals .

I invite you to learn to turn a revolutionary approach to architecture-based positioning Your best location - Brqx

It is a pleasure to share with you my concerns in society and my fight unanimously for a better world.

I invite you to meet current social customs - Brqx.

Also if you like quality collectibles, I invite you to participate in projects like My chopsticks or My presentations .

Without further also, thank you for your visit.

Facets of Drupal - Keys to Success

a.- Architectural keys: The definition of product structure is architecture
b.- Architectural Keys: The relationship with other products to enable better deployment is architecture
c.- Architectural Keys: Correct definition of needs in terms of system architecture
d.- Architectural Keys: The interface between different systems is architecture
e.- Architectural Keys: The choice of components is architecture
f.- Architectural Keys: The definition of the names of architectural components is architecture
g.- Architectural Keys: The presentation and composition of these architectural components is also architecture
h.- Architectural Keys: The categorization of the route of the components is architecture
i.- Architectural Keys: The relationship between common components for portals is architecture
j.- Architectural Keys: The decision of whats components to use is architecture
k.- Architectural Keys: The management and control components of the portals is architecture
l.- Architectural Keys : The need for knowledge of the available components is architecture
m.- Architectural Keys: The parameters of usability and safety applied to the chosen components are architecture
n.- Architectural Keys: The ability to prevent changes and adapting to the future system architecture
o.- Architectural Keys: The ability of abstraction that allows us to interpret a complex system of simple, is architecture
p.- Architectural Keys: The decision to minimize the documentation and group common needs is architecture
q.- Architectural Keys: The relationship of these needs with the component architecture to use is architecture
Syndicate content