Skip to content

Commit

Permalink
SAK-32083 Tags Service and tool (sakaiproject#3762)
Browse files Browse the repository at this point in the history
  • Loading branch information
ddelblanco authored and ern committed Mar 14, 2017
1 parent 2fa6def commit 82df5e5
Show file tree
Hide file tree
Showing 70 changed files with 13,811 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@
# DEFAULT:
# archives.import.source=http://someserver.edu/file/import.txt

# Upload limit per request, in MBs.
# Upload limit per request, in MBs.
# "ceiling" is used for resources. "max" is used for attachments.
# In the case when both are set, resources are limited to the smaller of the two. If only one of the two are set, resource uploads
# are limited to the value whichever is set. Attachments are limited at either 20 or the setting of "max".
Expand Down Expand Up @@ -1946,7 +1946,7 @@
# contentreview.option.exclude_self_plag.default=true

# SAK-31923
# Sets the separation char on exporting to CSV
# Sets the separation char on exporting to CSV
# Default: ,
# csv.separator=;

Expand Down Expand Up @@ -4714,3 +4714,37 @@
# Defaults to 10000
# ###############################################################
#portal.bullhorns.poll.interval=5000

#TAGS

# If the tag service will be enabled or not. (default is true)
#tagservice.enabled=true

# The max size of the pages returned by the rest services in searches and lists
# to avoid heavy queries in big collections. (By default 200)
#tagservice.maxpagesize=200

# The route inside the SAKAI folder for the full collection XML file.
# It will delete all the non updated tags of the collection, so
# it needs to be complete because after update and create the
# new tags, it will delete the tags that can't be found in the file. (By default tags/fullxmltags.xml)
#tags.fullxmltagsfile=tags/fullxmltags.xml

# The route inside the SAKAI folder for the "one by one" update option
#You can find samples of these files in the sources of sakai, at: /tags/tags-impl/impl/src/resources/xmlsamples
# (By default tags/tags.xml and tags/tagcollections.xml)
#tags.tagsfile=tags/tags.xml
#tags.tagcollectionsfile=tags/tagcollections.xml

# The route inside the SAKAI folder for the MESH collection file:
# It can be downloaded from (The "Descriptors" file):
# https://www.nlm.nih.gov/mesh/download_mesh.html
# ftp://nlmpubs.nlm.nih.gov/online/mesh/MESH_FILES/xmlmesh/desc2017.xml
# Needs to be the complete full file because after update and create the
# new tags, it will delete the tags that can't be found in the file.
# to work it needs to have previously created a collection with the external source defined as "MESH" (By default tags/mesh.xml)
#tags.meshcollectionfile=tags/mesh.xml


# The email address that will receive the confirmation mails from the import jobs (by default uses the defined in portal.error.email)
#[email protected]
1 change: 1 addition & 0 deletions library/src/morpheus-master/sass/base/_icons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
sakai-sitestats-admin : ( extend : fa-pie-chart ),
sakai-su : ( extend : fa-user-secret ),
sakai-syllabus : ( extend : fa-map-o ),
sakai-tagservice : (extend : fa-tag ),
sakai-usermembership : ( extend : fa-user ),
sakai-users : ( extend : fa-users ),
sakai-web-168 : ( extend : fa-globe ),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
.#{$namespace}sakai-tagservice{

.tagservice-body .alert li {
list-style: none;
}
.tag-modal {
position: fixed !important;
top:10% !important;
}
.incollection {
font-size: smaller;
font-style: italic;
color:$background-color-secondary;
}
.tagservice-section {
margin: 20px 0 30px;
}
.tagservice-section-header {
overflow: hidden;
}
.tagservice-section-header h3 {
float: left;
}
.tagservice-table .actions {
text-align: right;
}
.tagservice-body .checkbox {
border: none;
}
.tags-collections-percent-small {
width:15%
}
.tags-collections-percent-big {
width:25%
}
.tags-percent-small {
width:15%
}
.tags-percent-big {
width:25%
}
.tags-percent-total {
width:100%
}
}
1 change: 1 addition & 0 deletions library/src/morpheus-master/sass/tool.scss
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
@import "modules/tool/sitestats/sitestats";
@import "modules/tool/syllabus/syllabus";
@import "modules/tool/roster/roster";
@import "modules/tool/tagservice/tagservice";


@import "base/rtl";
Expand Down
13 changes: 13 additions & 0 deletions master/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,13 @@
<joda.time.version>2.9.7</joda.time.version>
<sakai.genericdao.version>0.11.0</sakai.genericdao.version>
<reflectutils.version>0.9.20</reflectutils.version>
<json.simple.version>1.1.1</json.simple.version>
<handlebars.version>2.1.0</handlebars.version>
<jdom.version>1.0</jdom.version>
<hamcrest.all.version>1.3</hamcrest.all.version>
<junit.version>4.11</junit.version>
<mockito.version>2.1.0</mockito.version>

<!-- Sakai modules that are versioned separately -->
<!-- lessonbuilder tool pom depends on msgcntr ver prop. Need to add a profile to the LB tool pom to mark change between 10.x master and earlier versions -->
<sakai.msgcntr.version>${sakai.version}</sakai.msgcntr.version>
Expand Down Expand Up @@ -1599,6 +1606,12 @@
<version>${sakai.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.sakaiproject.tags</groupId>
<artifactId>tags-api</artifactId>
<version>${sakai.version}</version>
<scope>provided</scope>
</dependency>
<!-- UI dependencies; our glue packages, not the raw libraries, -->
<!-- and only where we have duplication in dependencyManagement sections. -->
<dependency>
Expand Down
2 changes: 2 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
<module>roster2</module>
<module>rsf</module>
<module>rwiki</module>
<module>tags</module>
<module>samigo</module>
<module>search</module>
<module>sections</module>
Expand Down Expand Up @@ -176,6 +177,7 @@
<module>roster2</module>
<module>rss</module>
<module>rwiki</module>
<module>tags</module>
<module>samigo</module>
<module>search</module>
<module>sections</module>
Expand Down
50 changes: 50 additions & 0 deletions reference/docs/conversion/sakai_12_mysql_conversion.sql
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,56 @@ ALTER TABLE SAKAI_POSTEM_STUDENT MODIFY COLUMN username varchar(99), DROP INDEX
-- #3431 Add final grade mode setting
ALTER TABLE GB_GRADEBOOK_T ADD COLUMN FINAL_GRADE_MODE bit(1) NOT NULL DEFAULT b'0';


-- BEGIN SAK-32083 TAGS

CREATE TABLE IF NOT EXISTS `tagservice_collection` (
`tagcollectionid` CHAR(36) PRIMARY KEY,
`description` TEXT,
`externalsourcename` VARCHAR(255) UNIQUE,
`externalsourcedescription` TEXT,
`name` VARCHAR(255) UNIQUE,
`createdby` VARCHAR(255),
`creationdate` BIGINT,
`lastmodifiedby` VARCHAR(255),
`lastmodificationdate` BIGINT,
`lastsynchronizationdate` BIGINT,
`externalupdate` BOOLEAN,
`externalcreation` BOOLEAN,
`lastupdatedateinexternalsystem` BIGINT
);

CREATE TABLE IF NOT EXISTS `tagservice_tag` (
`tagid` CHAR(36) PRIMARY KEY,
`tagcollectionid` CHAR(36) NOT NULL,
`externalid` VARCHAR(255),
`taglabel` VARCHAR(255),
`description` TEXT,
`alternativelabels` TEXT,
`createdby` VARCHAR(255),
`creationdate` BIGINT,
`externalcreation` BOOLEAN,
`externalcreationDate` BIGINT,
`externalupdate` BOOLEAN,
`lastmodifiedby` VARCHAR(255),
`lastmodificationdate` BIGINT,
`lastupdatedateinexternalsystem` BIGINT,
`parentid` VARCHAR(255),
`externalhierarchycode` TEXT,
`externaltype` VARCHAR(255),
`data` TEXT,
INDEX tagservice_tag_taglabel (taglabel),
INDEX tagservice_tag_tagcollectionid (tagcollectionid),
INDEX tagservice_tag_externalid (externalid),
FOREIGN KEY (tagcollectionid)
REFERENCES tagservice_collection(tagcollectionid)
ON DELETE RESTRICT
);


INSERT IGNORE INTO SAKAI_REALM_FUNCTION (FUNCTION_NAME) VALUES ('tagservice.manage');
-- END SAK-32083 TAGS

-- BEGIN 3432 Grade Points Grading Scale
-- add the new grading scale
INSERT INTO GB_GRADING_SCALE_T (object_type_id, version, scale_uid, name, unavailable)
Expand Down
61 changes: 61 additions & 0 deletions reference/docs/conversion/sakai_12_oracle_conversion.sql
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,67 @@ CREATE UNIQUE INDEX POSTEM_USERNAME_SURROGATE ON SAKAI_POSTEM_STUDENT ("USERNAME
-- #3431 Add final grade mode setting
ALTER TABLE gb_gradebook_t ADD final_grade_mode NUMBER(1,0) DEFAULT '0' NOT NULL;

-- BEGIN SAK-32083 TAGS

CREATE TABLE tagservice_collection (
tagcollectionid VARCHAR2(36) PRIMARY KEY,
description CLOB,
externalsourcename VARCHAR2(255),
externalsourcedescription CLOB,
name VARCHAR2(255),
createdby VARCHAR2(255),
creationdate NUMBER,
lastmodifiedby VARCHAR2(255),
lastmodificationdate NUMBER,
lastsynchronizationdate NUMBER,
externalupdate NUMBER(1,0),
externalcreation NUMBER(1,0),
lastupdatedateinexternalsystem NUMBER,
CONSTRAINT externalsourcename_UNIQUE UNIQUE (externalsourcename),
CONSTRAINT name_UNIQUE UNIQUE (name)
);

CREATE TABLE tagservice_tag (
tagid VARCHAR2(36) PRIMARY KEY,
tagcollectionid VARCHAR2(36) NOT NULL,
externalid VARCHAR2(255),
taglabel VARCHAR2(255),
description CLOB,
alternativelabels CLOB,
createdby VARCHAR2(255),
creationdate NUMBER,
externalcreation NUMBER(1,0),
externalcreationDate NUMBER,
externalupdate NUMBER(1,0),
lastmodifiedby VARCHAR2(255),
lastmodificationdate NUMBER,
lastupdatedateinexternalsystem NUMBER,
parentid VARCHAR2(255),
externalhierarchycode CLOB,
externaltype VARCHAR2(255),
data CLOB,
CONSTRAINT tagservice_tag_fk FOREIGN KEY (tagcollectionid) REFERENCES tagservice_collection(tagcollectionid)
);


CREATE INDEX tagservice_tag_tagcollectionid on tagservice_tag (tagcollectionid);
CREATE INDEX tagservice_tag_taglabel on tagservice_tag (taglabel);
CREATE INDEX tagservice_tag_externalid on tagservice_tag (externalid);



MERGE INTO SAKAI_REALM_FUNCTION srf
USING (
SELECT -123 as function_key,
'tagservice.manage' as function_name
FROM dual
) t on (srf.function_name = t.function_name)
WHEN NOT MATCHED THEN
INSERT (function_key, function_name)
VALUES (SAKAI_REALM_FUNCTION_SEQ.NEXTVAL, t.function_name);

-- END SAK-32083 TAGS

-- BEGIN 3432 Grade Points Grading Scale
-- add the new grading scale
INSERT INTO gb_grading_scale_t (id, object_type_id, version, scale_uid, name, unavailable)
Expand Down
Loading

0 comments on commit 82df5e5

Please sign in to comment.