Romain Quetiez
43b8522b85
Rework of the edition of 1-N and N-N links: managed as a delta from the GUI down to the the lowest APIs.
...
- Fixes the management of obsolete linked data.
- N.744 Fixes concurrent modifications (example: a user modifies a team, another user modifies a person related to that same team). Still NOT fixed with the customer portal.
- N.849 Fixes links edition in the case some data are not allowed to the current user (organization silos) -TO BE TESTED
- #1145 Fixes the creation of duplicate links in one step (Server to NW Device)
- #1147 Fixes the update of duplicate links
SVN:trunk[4766]
2017-06-21 15:47:28 +00:00
Romain Quetiez
636356f479
N.897 Object having too many external keys could not be recorded (61 tables)
...
SVN:trunk[4755]
2017-06-01 12:44:21 +00:00
Romain Quetiez
3b48428897
Internal: DBObjectSearch->AddCondition, allow the case $value = null (otherwise failing because the keyword null has not yet been implemented in OQL)
...
SVN:trunk[4744]
2017-05-19 09:15:22 +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
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
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
Guillaume Lajarige
f9ed88a084
Internal: OQL error reporting
...
SVN:trunk[4717]
2017-05-02 09:11:00 +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
Romain Quetiez
8f0095f751
N.718 (continuation) Audit failing with message "Attempting to merge a filter of class A with a filter of class B" (regression introduced in branch 2.3)....
...
SVN:trunk[4612]
2017-03-22 20:59:33 +00:00
Romain Quetiez
b7fc2e4012
N.718 Audit failing with message "Attempting to merge a filter of class A with a filter of class B" (regression introduced in branch 2.3). There are circumstances for which the queries cannot (yet) be optimized (fallback to the original algorithm)
...
SVN:trunk[4611]
2017-03-22 20:53:40 +00:00
Romain Quetiez
f7e77e9fa6
N.539 Regression introduced in [r4451] on oct 7th. Some OQL were issuing a notice and some were generating a SQL query that would fail with error "Column 'functionalci_id' in where clause is ambiguous" (See CI details)
...
SVN:trunk[4492]
2016-12-05 12:52:08 +00:00
Romain Quetiez
ad8c3db6b4
Continuing [r4488] N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING
...
SVN:trunk[4490]
2016-12-05 09:59:19 +00:00
Romain Quetiez
d5c3b8d8e2
N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING
...
SVN:trunk[4488]
2016-12-02 20:37:13 +00:00
Romain Quetiez
d3f5d05063
N.505 Regression introduced in [r4404]. Security issue - Object visibility totally screwed the APC cache (user data) is enabled. This is a change in the way SQL queries are built and therefore requires testing.
...
SVN:trunk[4469]
2016-10-28 09:08:30 +00:00
Romain Quetiez
59e3367da8
N.434 ... Continuation... Fixed regression introduced in [r4448]. OQL (parsed) queries are optimized too but the SQL query cannot be executed. See example herebelow:
...
SELECT
UserRequest AS u
JOIN Person AS p1 ON u.caller_id=p1.id
JOIN Organization AS o1 ON p1.org_id=o1.id
JOIN Person ON u.caller_id=Person.id
JOIN Location AS l ON Person.location_id = l.id
WHERE Person.status='active' AND p1.status='inactive' AND l.country='France'
SVN:trunk[4451]
2016-10-07 13:15:30 +00:00
Romain Quetiez
fe6ae6f2eb
N.434 Optimized the DB queries. As an example, the query that shows the service catalog in the enhanced customer portal is now made of 5 nodes (at the class level) whereas it used to be made of 11 nodes... for the exact same results. This optimization impacts almost each queries built by iTop. The expected benefit can insignificant or not, depending on the cardinality of the data, the datamodel and the original OQL queries. We found one case where the query execution would apparently never end and it takes now less than a second. The risk with such a change is that is affects most of the queries built by iTop -requires testing!
...
SVN:trunk[4448]
2016-10-07 08:45:24 +00:00
Romain Quetiez
23193153c6
N°436 Core API: Correctly (mathematically!) handle the "allow all data" flag, with UNIONS and INTERSECTIONS. Requires testing
...
SVN:trunk[4404]
2016-09-19 13:08:32 +00:00
Romain Quetiez
3c9072bb65
OQL: fixed an old limitation, hierarchies can now be expressed both ways. Example of a query that now works fine: SELECT Organization AS root JOIN Organization AS child ON child.parent_id BELOW root.id WHERE child.name LIKE 'Combodo'. In the previous implementation, the operator was interpreted as '='.
...
SVN:trunk[4233]
2016-06-21 14:38:08 +00:00
Romain Quetiez
b54f78ab1a
Internal: DBSearch::Intersect to throw an exception whenever any of the merged queries have a queried class that does not correspond to the first joined class. This is a limitation of the current implementation of Intersect. Allowing such use cases would require quite a rework of that API.
...
SVN:trunk[4227]
2016-06-20 14:05:11 +00:00
Denis Flaven
5386662146
Support of date and time custom formats... continuing towards the beta !
...
SVN:trunk[4019]
2016-05-03 09:56:02 +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
Guillaume Lajarige
4b7fb20eaf
DBSearch : Allow join between DBUnionSearch by adding the DBUnionSearch::Join verb
...
SVN:trunk[3952]
2016-03-16 16:45:39 +00:00
Romain Quetiez
4006fce0f2
Exclude magic parameters when listing query parameters (refactoring from run_query) This enables the use of magic parameters in the exports. The issue was less exposed in iTop 2.2.0 because only one single magic parameter was available.
...
SVN:trunk[3948]
2016-03-11 20:42:04 +00:00
Romain Quetiez
3cfcbeb654
Internal: fixed the verb DBObjectSearch::IsAny
...
SVN:trunk[3886]
2016-01-26 14:49:37 +00:00
Romain Quetiez
b1f62c8409
Internal: dehardcoded OqlUnionQuery::GetClass against the metamodel reflection API
...
SVN:trunk[3836]
2015-12-01 16:23:35 +00:00
Romain Quetiez
0f4301af01
Core API: added DBSearch:SetSelectedClasses
...
SVN:trunk[3815]
2015-11-09 10:35:51 +00:00
Romain Quetiez
40990020b1
#1140 UNION queries not working -in fact, loss of the optimization on column load when filtering on org hierarchies (retrofit possible but the fix will be located in MetaModel)
...
SVN:trunk[3721]
2015-09-07 10:30:58 +00:00
Romain Quetiez
5f0938d01b
Fixed regression introduced in 2.2.0 beta. Warning issued when opening an organization for modification
...
SVN:trunk[3717]
2015-09-04 12:44:14 +00:00
Romain Quetiez
1331f91061
#1123/#1133 The optimization on loaded columns in SQL queries was inoperant for some queries, resulting in a stopper issue if such queries were added to a union query (2.2.0 beta)
...
SVN:trunk[3700]
2015-08-27 07:32:41 +00:00
Denis Flaven
742abab420
Bug fix: typo causing the generation of invalid SQL queries (in some rare cases).
...
SVN:trunk[3653]
2015-07-28 12:25:19 +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
7f460eda5a
Better error reporting (thanks to Stefan Goethals for suggesting it).
...
SVN:trunk[3619]
2015-07-06 12:38:23 +00:00
Romain Quetiez
047166f002
#983 Sortering not possible on multi-column queries
...
SVN:trunk[3381]
2014-10-28 10:47:00 +00:00
Denis Flaven
67471e2636
Fix for a warning about mysql_free() revealing a problem with DBObjectSet
...
SVN:trunk[3257]
2014-07-10 08:27:16 +00:00
Romain Quetiez
26db86beb2
OQL normalization and dashlets have been made independent from the class MetaModel
...
Added OQL normalization unit tests (to be run on a standard installation)
SVN:trunk[2767]
2013-06-03 13:26:14 +00:00
Romain Quetiez
cce2509b2e
#702 The second implementation of this fix was still incomplete (not compatible with some constraint queries)
...
SVN:trunk[2694]
2013-04-17 16:11:45 +00:00
Romain Quetiez
aa4d396960
#702 The first implementation of this fiw was not incomplete (not compatible with some constraint queries)
...
SVN:trunk[2692]
2013-04-17 15:53:34 +00:00
Romain Quetiez
c95b8cf939
#702 Ignoring the class when looking up for a polymorphic ext key
...
SVN:trunk[2681]
2013-04-16 11:24:34 +00:00
Romain Quetiez
64c9c1fead
Added a comment to explain why the APIs AddCondition_PointingTo and AddCondition_ReferencedBy must be left unprotected (do not clone the passed filter). See trac #639
...
SVN:trunk[2509]
2012-12-05 10:32:13 +00:00
Denis Flaven
5808c0a8a7
Fix for a SQL error (regression) in the Portal
...
SVN:trunk[2503]
2012-12-04 17:25:02 +00:00
Romain Quetiez
1e155ffc13
Fixed stopper issue (found with an audit) due to copies of DBObjectSearch not cloned (or not cloned well)
...
There is still one place where this should be fixed, but it reveals another bug so we've decided to leave it as is for the moment (see comment in DBObjectSearch::AddCondition_PointingTo)
SVN:trunk[2497]
2012-12-04 13:26:48 +00:00
Romain Quetiez
cae32294a1
Integrated the multiple select in the portal (search closed tickets)
...
SVN:trunk[2362]
2012-10-25 14:24:38 +00:00
Romain Quetiez
721faa7e1e
Updated copyright (2012) and license (LGPL changed to AGPL)
...
SVN:trunk[2333]
2012-10-23 21:41:36 +00:00
Romain Quetiez
7b790cc84f
Fixed two bugs revealed with specific constraints (query expression like 'SELECT b FROM a JOIN b', AND the organization context is set)
...
SVN:trunk[2325]
2012-10-22 13:02:15 +00:00
Romain Quetiez
7dbbb1c299
#439 Record and display changes in the link sets (ex: Members of a team)
...
#439 Make sure that changes made by a plugin get recorded
+ simplified the change tracking for the plugins. Simply call DBObject::DBInsert (resp. Update and Delete) and the change will be recorded for the current page. This is compatible with the old (not mandatory anymore) way that was requiring DBInsertTracked APIs (resp. Update, Delete).
SVN:trunk[2236]
2012-10-08 12:17:56 +00:00
Denis Flaven
5fc4775903
Bug fix: AddToDashboard crashed the menu.
...
SVN:trunk[2218]
2012-09-26 10:19:41 +00:00
Romain Quetiez
d747b1fe26
Fixed an issue revealed by fix [2201], occurring when filtering on organization (context) - the fix is not complete (see Trac #588 )
...
SVN:trunk[2204]
2012-09-25 09:43:03 +00:00
Romain Quetiez
2f9922f7df
Fixed issue in OQL rendering, reproduced with FROM and JOIN clauses
...
SVN:trunk[2201]
2012-09-24 07:56:35 +00:00
Romain Quetiez
3b46af6a4f
Fixed bug with the serialization of a multi-object OQL (hard to reproduce)
...
SVN:trunk[2147]
2012-08-06 13:43:26 +00:00
Denis Flaven
e3dd7d4371
Better track unknown classes exceptions
...
SVN:trunk[2076]
2012-05-30 14:59:33 +00:00