Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
This "logical" analysis wrapper Component is for graphical organisation only. It does not (in this case) change the logical grouped elements' ownerships, but it does indicate a possible future packaging.
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
The "unwrapped" diagram for the logical grouping component, showing Component Realization relationships to the logically (and otherwise graphically/visually) grouped participants.
The @Component is still (in this case) in fact contained (owned by) the Package 'flagplus', because how it was moved (dragged) as a graphical symbol into another graphical Component symbol, in MagicDraw UML ! By contrast, in MagicDraw UML, if you drag a Packageable model element in the project browser instead of in a diagraminto a Component it will change ownership ! Both of these modes yield fully compliant UML diagrams.
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
This "logical" analysis wrapper Component is for graphical organisation only. It does not (in this case) change the logical grouped elements' ownerships, but it does indicate a possible future packaging.
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
The "unwrapped" diagram for the logical grouping component, showing Component Realization relationships to the logically (and otherwise graphically/visually) grouped participants.
The @Component is still (in this case) in fact contained (owned by) the Package 'flagplus', because how it was moved (dragged) as a graphical symbol into another graphical Component symbol, in MagicDraw UML ! By contrast, in MagicDraw UML, if you drag a Packageable model element in the project browser instead of in a diagraminto a Component it will change ownership ! Both of these modes yield fully compliant UML diagrams.
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Using Dependency arrows between operations in class diagrams can be useful in dedicated mini-diagrams, but it quickly leads to clutter in large overview diagrams like this.
We can however instead represent the 3 different "scenarios" handled by this one include file in separate diagrams (as shown below).
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build a readonly page showing the applicability of each Flag by entity type and bundle name in a table.
Those Dependencies between Operations are starting to look a lot more useful when a scenario is isolated !
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build an editable form enabling the applicability of each Flag by entity type and bundle name to be seen and set in a table, with an entity type filter.
A bit more complex because now it includes and entity type filter sub-form and sub-forms for applicability of each Flag by entity type and bundle. But the Dependencies between operations do definitely help trace the logic.
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build an editable AJAX form enabling the applicability of each Flag by entity type and bundle name to be seen and set in a table, with an AJAX entity type filter.
Also not bad except for those horrible long operations in the include file flagplus.flags.inc, which is a a typical consequence of lack of OOP, and of Drupal7's system for passing arguments to non-OOP callbacks functions (unless you like shoving it all into an unstructured "$options" array as so often done in Drupal, which is also rather blech and yuck).
Notice how, compared with the non-AJAX form case, the entity filter sub-form is handled a bit differently; instead of it being built with a default from a system variable it is built using the form state value from the AJAX callback.
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Using Dependency arrows between operations in class diagrams can be useful in dedicated mini-diagrams, but it quickly leads to clutter in large overview diagrams like this.
We can however instead represent the 3 different "scenarios" handled by this one include file in separate diagrams (as shown below).
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build a readonly page showing the applicability of each Flag by entity type and bundle name in a table.
Those Dependencies between Operations are starting to look a lot more useful when a scenario is isolated !
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build an editable form enabling the applicability of each Flag by entity type and bundle name to be seen and set in a table, with an entity type filter.
A bit more complex because now it includes and entity type filter sub-form and sub-forms for applicability of each Flag by entity type and bundle. But the Dependencies between operations do definitely help trace the logic.
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
CASE: build an editable AJAX form enabling the applicability of each Flag by entity type and bundle name to be seen and set in a table, with an AJAX entity type filter.
Also not bad except for those horrible long operations in the include file flagplus.flags.inc, which is a a typical consequence of lack of OOP, and of Drupal7's system for passing arguments to non-OOP callbacks functions (unless you like shoving it all into an unstructured "$options" array as so often done in Drupal, which is also rather blech and yuck).
Notice how, compared with the non-AJAX form case, the entity filter sub-form is handled a bit differently; instead of it being built with a default from a system variable it is built using the form state value from the AJAX callback.
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Typically an OOE controlled project has a controller for a main page and a matching page menu item.
A specific project may add additional menu items (possibly for page controllers) for separate pages. In this demonstration, in addition to the main controlled welcome page for the argument extraction demos, there are 4 different sub menu items for 4 demonstration cases:
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
The best UML tools like MagicDraw UML are able to show inherited properties in composite structure diagrams. Here they are grouped for illustration purposes.
,
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
In the best UML tools like MagicDraw UML one can show the structure compartment of Classes and Components and their composite structure as Property symbols in "hybrid" class or implementation diagrams. Here the inheritance of all major properties is shown.
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
Click on the UML diagram to view it in a lightbox image viewer. You may then zoom in (or just open the image in a new web browser tab using the Download Original link to view large diagrams).
I have tried above to show some of the landscape of OOE beyond the OOE Project classes to which the bridge delegates most of the work, such as menu items, page controllers, and blocks. Each OOE Interface and Class is otherwise presented in easy-to-understand UML diagrams that mostly only show each element's nearest neighbour relationships.
This educational site is brought to you by Webel IT Australia, experts in database-driven web technology for industry, engineering, education and science. Webel is one of Australia's most experienced Drupal CMS web site specialists.