incubator-bloodhound-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Apache Bloodhound" <bloodhound-...@incubator.apache.org>
Subject [Apache Bloodhound] Proposals/BEP-0005 modified
Date Sun, 27 Jan 2013 19:19:47 GMT
Page "Proposals/BEP-0005" was changed by olemis
Diff URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0005?action=diff&version=5>
Revision 5
Comment: [BEP-0005] Oops ! ... fixing references and TODO list ... o.O
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: Proposals/BEP-0005
=========================================================================
--- Proposals/BEP-0005 (version: 4)
+++ Proposals/BEP-0005 (version: 5)
@@ -32,7 +32,7 @@
   2. Check if installed version is greater than current plugins version, raising error if
it is
   3. Check if current plugin’s version is greater than installed version and if so, environment
does need to be upgraded
 
-There is an opportunity here to introduce some Template Method (GoF) and let the plugin to
indicate its name and current version number. The rest of the algorithm will be straightforward
and should not be repeated.
+There is an opportunity here to introduce some Template Method [#refs01 (1)] and let the
plugin to indicate its name and current version number. The rest of the algorithm will be
straightforward and should not be repeated.
 
 The operation `upgrade_environment` of `IEnvironmentSetupParticipant`  is likely to consist
in providing new tables to the schema (generally if it is the first fresh install) inserting
new/default data to the tables specified and/or performing some unstructured database update
(e.g. changing field types, adding new columns, updating existing data values ... but not
limited to these ...).
 
@@ -40,7 +40,7 @@
 
 '''What will happen once several versions of the plugin have been rolled out ?''' Each one
of them could require new tables, new data, and/or modification to the existing schema or
data. Hence there will be a need to change the already functioning code all the time. 
 
-The possible improvement here comes with the application of the Open Close design principle;
the existing code would not need to change if each new block of changes regarding each new
plugin version is isolated. So the design and code gets open for extensions and closed for
modifications as the design principle states.
+The possible improvement here comes with the application of the Open Close design principle
[#refs02 (2)]; the existing code would not need to change if each new block of changes regarding
each new plugin version is isolated. So the design and code gets open for extensions and closed
for modifications as the design principle states.
 
 When the upgrade process finishes, the plugin needs to update the system table indicating
the current version has been installed. This step once again is a candidate for code repetition
across plugins. 
 
@@ -55,7 +55,7 @@
 
 === Details:
 
-[=#upgrade-core] A new module `bhdashboard.env` will be added in dashboard plugin . Reusable
classes will be implemented in there, especially a base class named `BaseEnvironmentSetupParticipant`
. This is a mixin class [#refs-03 (1)] implementing `IEnvironmentSetupParticipant` interface
. Reusable logic regarding the environment upgrade process will be found in there.
+[=#upgrade-core] A new module `bhdashboard.env` will be added in dashboard plugin . Reusable
classes will be implemented in there, especially a base class named `BaseEnvironmentSetupParticipant`
. This is a mixin class [#refs-03 (3)] implementing `IEnvironmentSetupParticipant` interface
. Reusable logic regarding the environment upgrade process will be found in there.
 
 [=#upgrade-components] Setup participants (i.e. components) in plugins will extend this base
class, and provide concrete information that varies from a plugin to another. Instead of directly
implementing `IEnvironmentSetupParticipant` interface, the component will override the following
inherited methods:
 
@@ -97,7 +97,7 @@
 
 == Backwards Compatibility #backwards-compatibility
 
-TODO: verify if there is something needed here
+**TODO** verify if there is something needed here
 
 == Reference Implementation #reference-implementation
 
@@ -138,14 +138,15 @@
 
 == References #references
 
-  - [=#refs01] E. Gamma, R.Helm, R.Johnson, J. Vlissides, ''Elements of Reusable Object-Oriented
Software'' [[BR]]
+  1. [=#refs01] E. Gamma, R.Helm, R.Johnson, J. Vlissides, ''Elements of Reusable Object-Oriented
Software'' [[BR]]
     ( http://www.amazon.com/Design-Patterns-Object-Oriented-Professional-Computing/dp/0201634988
)
-  - [=#refs02] Robert C. Martin, ''Open / Closed design principle'' [[BR]]
+  2. [=#refs02] Robert C. Martin, ''Open / Closed design principle'' [[BR]]
     ( http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445
Software-Development-Principles-Patterns-Practices )
-  - [=#refs03] Mixin class [[BR]]
+  3. [=#refs03] Mixin class [[BR]]
     ( http://en.wikipedia.org/wiki/Mixin )
 
-TODO: check if there should be a reference here to the ticket related to the use of bhdashboard.!ModelBase._meta
as a source for environment upgrades 
+**TODO** check if there should be a reference here to the ticket related to the use of bhdashboard.!ModelBase._meta
as a source for environment upgrades 
+**answer** yes . please add it in [#reference-implementation reference implementation section]
.
 
 == Copyright #copyright
 
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0005>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound (incubating) issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0005' page.
If it was not you, please report to .

Mime
View raw message