Romain Quetiez
c2c0221535
N.542 Refactored the code so that query placeholders (current_contact->attcode or current_user->attcode) become available in template too.... BUT this will not work if the notifications are sent asynchronously (thus the logged in user is an account dedicated to the cron).
...
SVN:trunk[4747]
2017-05-22 14:57:03 +00:00
Romain Quetiez
80121b89c3
Obsolescence: background task setting (or resetting) the obsolescence date for obsolete data. The periodicity can be tuned by the mean of obsolescence.date_update_interval, defaulting to 10 minutes. Also renamed show_obsolete_data into obsolescence.show_obsolete_data for consistency.
...
SVN:trunk[4745]
2017-05-19 09:20:13 +00:00
Romain Quetiez
248f8d6fd4
Obsolescence: finalizing the implementation of the flag (hide obsolete objects, show an icon on hyperlinks and a tag on the object details, user preference defaulting to the new setting 'show_obsolete_data')
...
SVN:trunk[4739]
2017-05-17 08:51:10 +00:00
Guillaume Lajarige
17fbc504e2
Internal: Added some PHP Doc in MetaModel class
...
SVN:trunk[4734]
2017-05-15 12:42:14 +00:00
Romain Quetiez
44b53e40a0
Obsolescence: introduction of this new concept (wording could change later). The obsolescence of an object is computed after other attributes, by the mean of an OQL expression. The code has been refactored (again) so as to factorize between the computation of friendly names and the computation of obsolescence flags. The refactoring involved a significant AND RISKY change: external key friendly names (magic attributes) have been changed from AttributeFriendlyName to AttributeExternalField, which simplifies the SQL query build logic.
...
SVN:trunk[4732]
2017-05-11 11:58:42 +00:00
Romain Quetiez
5354b0b32b
Internal: getting rid of the unused API GetExtKeyFriends, which initialization was not compatible with the declaration of <extkey>_friendlyname as external fields
...
SVN:trunk[4726]
2017-05-10 14:34:40 +00:00
Romain Quetiez
a8ad3004ea
Internal:
...
- code refactoring to generalize attributes based on an OQL expression (friendly name, obsolescence flag, ....). The intermediate class AttributeComputedFieldVoid has been swept in favor of the use of a new method: IsBasedOnOQLExpresssion.
- added an introspection API (experimental), allowing an external application to request for information about the capabilities of the framework (first step: list attributes and their main characteristics)
SVN:trunk[4720]
2017-05-05 15:08:49 +00:00
Romain Quetiez
e70e1de75e
Archives: archivability must be set on root classes
...
SVN:trunk[4703]
2017-04-27 09:27:02 +00:00
Romain Quetiez
8e046cafda
Archives: default label for the magic attributes archive_flag and archive_date
...
SVN:trunk[4699]
2017-04-27 08:43:45 +00:00
Romain Quetiez
e3931274ae
Archives: refactoring of the API to enable/disable the archive mode
...
SVN:trunk[4696]
2017-04-26 15:48:24 +00:00
Romain Quetiez
fa2fd6dcdf
NEW! Archiving data. Archiving is a soft delete. It can be undone. Enter the archive mode to see all the data including archives (everything is read-only in that mode). Archiving must be enabled per class (data model). Archiving is achieved by the mean of the API DBObject::Archive (or Unarchive).
...
SVN:trunk[4692]
2017-04-26 09:52:20 +00:00
Guillaume Lajarige
2fcf50bb88
N°653 Lifecycle flags can be defined on both states and transitions (Note: This is a beta version and need to be tested!)
...
SVN:trunk[4688]
2017-04-21 14:59:04 +00:00
Romain Quetiez
c755b66d8c
Optimization: make it less cumbersome to have the APC user cache enabled for PHP 5.5+. Prior to this enhancement, it used to require a compilation flag (for apcu) until PHP7... then it became mandatory to install a dedicated backward compatibility module named after apcu_bc. Now, having apcu installed and enabled is ENOUGH.
...
SVN:trunk[4415]
2016-09-26 15:54:41 +00:00
Romain Quetiez
b8a80cb267
#1325 Part III - Completing the fix by aligning the internal data structures of iTop... and possibly fix an issue (?) - Not recommended for a retrofit
...
SVN:trunk[4399]
2016-09-14 15:42:19 +00:00
Romain Quetiez
ad1412c7e2
#1325 Part II - Completing the fix by aligning the internal data structures of iTop... and possibly fix an issue (?) - Not recommended for a retrofit
...
SVN:trunk[4398]
2016-09-14 15:35:16 +00:00
Romain Quetiez
4bf51515be
#1325 Could not declare an ext key to a subclass (view could not be created). This commit is minimalistic and aims at being retrofitted into the various branches of iTop. It will be followed by a second commit, which aims at completing the fix by aligning the internal data structures of iTop... and possibly fix an issue (?)
...
SVN:trunk[4397]
2016-09-14 15:24:03 +00:00
Denis Flaven
775ed7d437
Regresssion of iTop 2.3.0 beta: properly load the metamodel from the environment.
...
SVN:trunk[4287]
2016-07-05 13:37:40 +00:00
Romain Quetiez
e8fb1cf236
#1207 Customization: allow the implementation of interfaces by the mean of abstract classes
...
SVN:trunk[4193]
2016-06-09 15:24:21 +00:00
Romain Quetiez
2a835e5be4
Internal: query arguments could be array values, making it easier to build dynamic IN() clauses
...
SVN:trunk[4006]
2016-04-19 13:59:43 +00:00
Denis Flaven
ed035b3699
YOU MUST RUN THE SETUP AFTER PERFORMING THIS UPDATE !!
...
- Better handling of 'auto_select' modules
- New way of implementing the "includes" of modules, now completely out of the configuration file !
SVN:trunk[3989]
2016-04-07 16:00:01 +00:00
Denis Flaven
f3773f6047
Cleanup and optimization of the handling/loading of the dictionary files.
...
SVN:trunk[3978]
2016-04-04 13:44:15 +00:00
Romain Quetiez
7868c4364c
Label of the final class attribute could only be defined on the root class (overriding it in derived classes had no effect)
...
SVN:trunk[3971]
2016-03-29 14:22:13 +00:00
Romain Quetiez
c201ae4147
Fixed regression introduced with [3912] : autocomplete not working (new User request with lots of existing user requests)
...
SVN:trunk[3954]
2016-03-17 14:04:48 +00:00
Denis Flaven
53029f9fc3
Optimization/bug (!): Never use the whole object as a placeholder in ApplyParams !!
...
SVN:trunk[3931]
2016-02-29 16:20:41 +00:00
Romain Quetiez
bfadbc4098
Prerequisites for custom fields
...
SVN:trunk[3918]
2016-02-19 12:30:19 +00:00
Denis Flaven
4e24e9899e
(HTML) Formatted Case Logs, Description and Notifications with inline images uploaded as Attachments. Beta Version !!
...
SVN:trunk[3916]
2016-02-19 10:03:59 +00:00
Romain Quetiez
e0fad5e0e6
Magic query arguments:
...
- In addition to current_contact_id, the following arguments can be used in any OQL query (provided that the page running the query requires a login): current_contact->attcode and current_user->attcode
- Code refactoring: magic arguments in one single place
- The "Run queries" page is now taking into account those magic arguments (do not prompt the end-user with these arguments!)
SVN:trunk[3912]
2016-02-17 18:55:46 +00:00
Romain Quetiez
8c4e84dfaf
New type of attribute: AttributeMetaEnum.
...
Designed to cope with the need to select tickets by operational status. The value of this attribute is computed by the framework. It depends on the actual ticket status (that attribute cannot be known by the root class because its definition varies from one type of ticket to another).
The data model has been enriched with the new attribute Ticket::operational_status. Its value is 'active' unless the ticket status is either 'rejected', 'resolved' or 'closed'. The existing dashboards have been left unchanged but should be revised to fully benefit from the new attribute (e.g. Open requests, Open problems, etc.)
Note: the alpha version of the compiler had already been committed by mistake a few days ago.
SVN:trunk[3859]
2016-01-13 14:35:21 +00:00
Denis Flaven
6dc190d369
Do not rely on MetaModel::GetRootClass() to check the data model, use the abstraction of ModelReflection instead to keep the code portable.
...
SVN:trunk[3797]
2015-10-08 15:54:23 +00:00
Denis Flaven
554a462809
Preserve the initial sort order on lists by determining the default sort order of the tables based on the equivalence between the "friendlyname" and another actual field of the class.
...
SVN:trunk[3774]
2015-09-17 17:22:07 +00:00
Romain Quetiez
5425f55af7
Exports further improved:
...
- Support reconciliation keys for every external key
- Better support for Case logs and multiline text fields (both in the preview and in the results)
- Do not repeat identical columns in the list of proposed columns. Examples with UserRequest: friendlyname is equivalent to ref, UserRequest::caller_name is equivalent to UserRequest::caller_id->name
- Optimized the preview for huge data sets (OptimizeColumnLoad)
- Cosmetics on the preview
- Labels for ids aligned with the labels used by the CSV import feature
- Fixed Stop Watch output for PDF/HTML/spreadsheet formats
SVN:trunk[3712]
2015-09-03 16:16:17 +00:00
Romain Quetiez
aa2ab1118a
Exports: a fields spec can now be an extended attribute code (e.g. location_id->org_id->parent_id->code)
...
SVN:trunk[3709]
2015-09-01 15:00:55 +00:00
Romain Quetiez
baf54a7c02
#942 OQL now supporting unions. Unions support polymorphism and can be used anywhere in the application.
...
SVN:trunk[3631]
2015-07-08 17:10:40 +00:00
Denis Flaven
20e4dbfc1d
A little bit of polishing on the impact analysis feature...
...
SVN:trunk[3630]
2015-07-08 15:56:34 +00:00
Denis Flaven
0769b2c481
Relations & Impact analysis enhancements:
...
- Detailled tooltips in the graph
- Context queries ("knowing that")
SVN:trunk[3583]
2015-05-24 20:47:11 +00:00
Denis Flaven
7ca7cb39ae
Integration of the new impact analysis into the tickets.
...
SVN:trunk[3578]
2015-05-15 13:49:25 +00:00
Romain Quetiez
3595434a05
XML Modelization of the relations: wrong computation of the upstream query (wrong computation of the redundancy when an Application Solution is made of CIS of various types)
...
SVN:trunk[3575]
2015-05-05 12:42:43 +00:00
Denis Flaven
d63b4ef6d1
Integration of the new way to compute relations into the datamodel (ComputeImpactedItems)
...
SVN:trunk[3570]
2015-04-29 16:35:21 +00:00
Romain Quetiez
fedde33be1
#1069 Added a default value to the column definitions whenever possible: makes it less a pain to add a new hierarchical key when there are already some records in the DB
...
SVN:trunk[3558]
2015-04-23 17:15:07 +00:00
Romain Quetiez
fa333504c6
XML Modelization of the relations: no option to restrict the browsing to downstream
...
SVN:trunk[3556]
2015-04-23 10:11:33 +00:00
Denis Flaven
df47e2a9e9
Replacement of the impact Flash based analysis graph by graphviz + Raphael + TCPDF. ALPHA version.
...
SVN:trunk[3554]
2015-04-23 10:02:06 +00:00
Romain Quetiez
eb379662ce
Rework of the relation diagrams: configuration of the redundancy (AttributeRedundancySettings)
...
SVN:trunk[3552]
2015-04-22 15:33:07 +00:00
Romain Quetiez
26eb4c7083
Rework of the relation diagrams: implemented MetaModel::GetRelatedObjectsUp, and took the redundancy into account (still misses a GUI)
...
SVN:trunk[3545]
2015-04-15 09:06:50 +00:00
Romain Quetiez
ef8888c679
Rework of the relation diagrams: implemented MetaModel::GetRelatedObjectsDown (still not taking the redundancy into account)
...
SVN:trunk[3544]
2015-04-13 12:59:26 +00:00
Romain Quetiez
e64b6d1d98
XML Modelization of the relations: reworked toward an asymetric definition (downstream: A impacts B, upstream: B depends on A)
...
- The queries are developped at runtime (cache)
- More complex algorithm to take into account the legacy type of specification (GetRelationQueries)
- New dictionary naming convention (preserving backward compatibility): "VerbUp" to be replaced by "DownStream
- Temporary hacks to preserve the relation 'depends on', until we have a new GUI
- Special handling for the relation LogicalVolume impacts VirtualDevice which had to be implemented in the bridge module
- Improved the backward compatibility by leaving legacy methods GetRelationQueries returning an empty definition, allowing for an eventual XML redefinition
SVN:trunk[3542]
2015-04-10 10:09:22 +00:00
Romain Quetiez
3cf0fa3ee2
XML Modelization of the relations, with full support of the previous way (by implementing a method GetRelationQueries). Still, the standard data model has not been migrated to the new format.
...
SVN:trunk[3519]
2015-03-26 11:12:25 +00:00
Romain Quetiez
fa0d408664
OQL enhancement: continuation... (bug fix with a query on object history)
...
SVN:trunk[3507]
2015-03-19 15:25:04 +00:00
Romain Quetiez
444d9e36c6
OQL enhancement: allow JOIN on a objclass/objkey pair of attributes (requires benchmarking)
...
SVN:trunk[3506]
2015-03-19 12:50:15 +00:00
Denis Flaven
930d833e1b
#803 : template placeholders are now built on demand. Yes !!
...
SVN:trunk[3498]
2015-02-27 10:02:44 +00:00
Romain Quetiez
508f82946f
#1060 Internal: improved the symptoms when calling MetaModel::GetAttributeDef with an invalid attribute code (feedback on the class name and no more FATAL errors)
...
SVN:trunk[3492]
2015-02-09 13:11:49 +00:00