From 060c1335885c66a294ea6146e16efc6e8a5838e9 Mon Sep 17 00:00:00 2001 From: sb Date: Fri, 8 Feb 2008 13:48:54 +0000 Subject: [PATCH] Sorting inherited permissions for tables --- transforms01/adl2canonical.xslt | 142 ++++++++++++---- transforms01/adl2mssql.xslt | 289 ++++++++++++++++++++------------ 2 files changed, 286 insertions(+), 145 deletions(-) diff --git a/transforms01/adl2canonical.xslt b/transforms01/adl2canonical.xslt index dd79e0f..b554541 100755 --- a/transforms01/adl2canonical.xslt +++ b/transforms01/adl2canonical.xslt @@ -14,10 +14,14 @@ (ii) every form, page or list has properties='listed'; where the supplied ADL had properties='all' or properties='user-distinct' the correct fields are generated. + (iii) TODO: all permissions are fully specified down to field level, by + inheriting where necessary. For every group specified in the ADL, for + every entity, form, page, list or field, the canonical form should + explicitly state the permission, even if it is 'none'. $Author: sb $ - $Revision: 1.5 $ - $Date: 2008-02-07 17:45:32 $ + $Revision: 1.6 $ + $Date: 2008-02-08 13:48:54 $ --> + * Generated using adl2canonical.xsl revision * *************************************************************************** @@ -81,11 +85,21 @@ - + + + + + + + + + + - + + @@ -140,7 +154,16 @@ - + + + + + + + + + + @@ -245,35 +268,6 @@ - - - - - - - - - - - - - - - - - - - - - - ADL ERROR: Type definitions of type 'string' must have a valid value for 'size' @@ -311,4 +305,82 @@ + + + + + + + + + + + + + + + + + + + + + + ADL: ERROR: A group may not be its own parent; offending group + + + + + + + + + + + + ADL: ERROR: Group specified ( does not exist. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/transforms01/adl2mssql.xslt b/transforms01/adl2mssql.xslt index b618548..e4b5534 100755 --- a/transforms01/adl2mssql.xslt +++ b/transforms01/adl2mssql.xslt @@ -12,7 +12,7 @@ Convert ADL to MS-SQL $Author: sb $ - $Revision: 1.5 $ + $Revision: 1.6 $ --> @@ -31,7 +31,7 @@ ------------------------------------------------------------------------------------------------- -- -- Database for application version - -- Generated for MS-SQL 2000+ using adl2mssql.xsl $Revision: 1.5 $ + -- Generated for MS-SQL 2000+ using adl2mssql.xsl $Revision: 1.6 $ -- -- Code generator (c) 2007 Cygnet Solutions Ltd -- @@ -40,104 +40,130 @@ ------------------------------------------------------------------------------------------------- -- authentication roles ------------------------------------------------------------------------------------------------- - + ------------------------------------------------------------------------------------------------- -- primary tables, views and permissions ------------------------------------------------------------------------------------------------- - + ------------------------------------------------------------------------------------------------- -- link tables ------------------------------------------------------------------------------------------------- - + ------------------------------------------------------------------------------------------------- -- primary referential integrity constraints ------------------------------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CASCADE - CASCADE - CASCADE - NO ACTION - - - - - + ------------------------------------------------------------------------------------------------- -- end of file ------------------------------------------------------------------------------------------------- - + - + execute sp_addrole @rolename = '' GO - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - ALTER TABLE "" + + + + + + + + ALTER TABLE "" ADD FOREIGN KEY ( "") - REFERENCES "" ON DELETE + REFERENCES "" ON DELETE GO - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CASCADE + CASCADE + CASCADE + NO ACTION + + + + + + + - - - - - - - - + + + ------------------------------------------------------------------------------------------------- @@ -145,21 +171,22 @@ ------------------------------------------------------------------------------------------------- CREATE TABLE "" ( - - , - - + + + , + + ) GO ---- permissions ------------------------------------------------------------------------------ - - - - - + + + + + @@ -198,17 +225,22 @@ - + - + - + + + + + + GRANT SELECT ON " - + @@ -298,14 +324,22 @@ - false + false true false - + + -- Problems with responsibility for generating link tables: + -- @entity = + -- $nearside = + -- $farside = + -- farlink = + -- comparison = '' + -- my responsibility = + @@ -322,7 +356,7 @@ ------------------------------------------------------------------------------------------------- -- link table joining with ------------------------------------------------------------------------------------------------- - CREATE TABLE "" + CREATE TABLE "" ( "Id" INT NOT NULL, "Id" INT NOT NULL, @@ -333,40 +367,75 @@ ---- permissions ------------------------------------------------------------------------------ - - - - + + + + + + GRANT SELECT,INSERT,UPDATE,DELETE ON TO + + + GRANT SELECT,INSERT,UPDATE,DELETE ON TO + + + GRANT SELECT,INSERT,UPDATE,DELETE ON TO + + + GRANT SELECT,INSERT,UPDATE,DELETE ON TO + + + REVOKE ALL ON FROM + + + REVOKE ALL ON FROM + + + GRANT SELECT ON TO + + + GO - - - + ---- referential integrity -------------------------------------------------------------------- + + + + + + + + + + + + - - + + - - + + - - + + - - + + @@ -374,7 +443,7 @@ - -- Suppressing generation of , as it is not my responsibility + -- Suppressing generation of , as it is not my responsibility