Upgrade CAnnouncements to USC Branch

Update the Existing Database

Note

The DB changes can be made prior to upgrading the CAnnouncements code without
affecting the older, pre USC version.

Table: UPC_CU_ANN_MESSAGE
New fields to be added:
* TITLE     varchar(150)
* MESSAGE_ABSTRACT    longvarchar

Table: UPC_CU_ANN_TOPIC
New fields to be added:
* EDITOR_GROUP   varchar(255)
* CONTRIBUTOR_GROUP   varchar(255)
* CHANNEL_INSTANCE   varchar(100)
* DISTRIBUTION   varchar(15)

Table: UPC_CU_ANN_PREFERENCES
New table with fields to be added:
* USER_ID varchar(150)
* ANN_PAGE_SIZE integer
* ANN_SORT_MODE varchar(10)
Primary key:
* USER_ID

Deploy the CAnnouncements code (USC Branch)

  1. Modify the build.properties file to point at your deployed uPortal directory.
  2. Modify CAnnouncement.properties to better fit your portal needs
  3. Run 'ant deploy' from the announcement's base directory.

Delete upc_cu_ann_12_17_2002.jar

Location: <tomcat>/webapps/uPortal/WEB-INF/lib

Set 'TITLE' in UPC_CU_ANN_MESSAGE to 'default title'

Note

MESSAGE_ABSTRACT can be left null.

update
  UPC_CU_ANN_MESSAGE
set
  TITLE = 'default title';

Set DISTRIBUTION in UPC_CU_ANN_TOPIC to 'open'

update
  UPC_CU_ANN_TOPIC
set
  DISTRIBUTION = 'open';

Update UP_SEQUENCE

  • Check the tables UPC_CU_ANN_MESSAGE and UPC_CU_ANN_TOPIC and look for the
    highest value MESSAGE_ID and TOPIC_ID respectively.
  • Update UP_SEQUENCE with the highest ID values.
    update
      UP_SEQUENCE
    set
      edu.columbia.ais.portal.channels.announcements.CAnnouncements.Announcement = 61;
    
    update
      UP_SEQUENCE
    set
      edu.columbia.ais.portal.channels.announcements.CAnnouncements.Topic = 31;
    
  • The USC Branch hard codes the Announcement Administrator Group as GROUP_ID = 300,
    so we arbitrarily set the UP_GROUP sequence to 300 so the next group created will be 301.
    update
      UP_SEQUENCE
    set
      SEQUENCE_VALUE = 300 where SEQUENCE_NAME = 'UP_GROUP';
    

Add Groups for Existing Topics

Announcement Roles

The USC branch of CAnnouncements creates three roles for each topic to manage
Subscriber, Editor and Contributor permissions. The previous CAnnouncements only
created a Subscriber role. Therefore, for each existing topic a new group for
editor and contributor needs to be created in UP_GROUP and updated in the
corresponding topic in UPC_CU_ANN_TOPIC.

GROUP_ID

The first value in UP_GROUP is the GROUP_ID which must be unique. Based on the
values in the database, we selected a semi-arbitrary value that was not being
used previously. Also, since we changed the group sequence number to 300,
anything available below 300 was fair game.

Sample SQL for Editor
insert into
  UP_GROUP
values 
  (146, 'edu.columbia.ais.portal.channels.announcements.CAnnouncements',
  2,'Topic 1 editors','Announcements Channel Editors for Topic 1');
Sample SQL for Contributor
insert into
  UP_GROUP
values
  (163, 'edu.columbia.ais.portal.channels.announcements.CAnnouncements',
  2,'Topic 1 contributors','Announcements Channel Contributors for Topic 1');

Update groups in UP_CU_ANN_TOPIC.

Match the Editor and Contributor groups numbers defined in UP_GROUP.

update
  UPC_CU_ANN_TOPIC 
set
  EDITOR_GROUP = 'local.146', CONTRIBUTOR_GROUP = 'local.163'
where
  TITLE = 'Topic 1';

Update the Look and Feel

Location: <announcements>/source/edu/columbia/portal/channels/announcements/Announcement_html.xsl

Update User Permissions

  • Roles
    • Editor = Admin for a specific topic
    • Contributor = Only allowed to add announcements for a topic
    • Subscriber = Only allowed to view announcements for a topic
  • Add Announcement Posters to the Contributor group for each topic

Restart Tomcat