How to add a New Application to Portal homepage
There are two ways to add an application to the main page, either through the GUI or during deployment.
Through GUI
Log in to ONAP Portal as Super User. As of Casablanca this is Login:"demo" and Password:"demo123456!"
Select "Application Onboarding" on the tab on the left of screen.
Fill out the required Application Details (Name, URL, REST API URL, Username, Password), and any additional details as required.
Select “Application Catalogue”, again on the left tab.
Tick the box of onboarded app.
Return to home tab, application should now be present.
During Deployment
Insert Application info into fn_app
First the application info is inserted into the fn_app table. Below is an example of insert values for SO Monitoring.
INSERT IGNORE INTO `fn_app` (`app_id`, `app_name`, `app_image_url`, `app_description`, `app_notes`, `app_url`, `app_alternate_url`, `app_rest_endpoint`, `ml_app_name`, `ml_app_admin_id`, `mots_id`, `app_password`, `open`, `enabled`, `thumbnail`, `app_username`, `ueb_key`, `ueb_secret`, `ueb_topic_name`, `app_type`,`auth_central`,`auth_namespace`) VALUES (10, 'SO-Monitoring', NULL, NULL, NULL, 'http://{{.Values.config.soMonitoringHostName}}:{{.Values.soMonitoringPort}}', NULL, 'http://so-monitoring:30224', '', '', NULL, 'password', 'Y', 'Y', NULL, 'user', '', '', '', 1,'N','SO-Monitoring');
2. Add Thumbnail Image to fn_app
Next the thumbnail image needs to be set for the application. This is also done in the fn_app table. This could be done in the above insert statement, but for the sake of clarity this should be done separately in an update statement. Note the app_id must equal to the app_id of the application inserted in the previous step. Below is an example of insert values for SO Monitoring, although the image value has been cut short for the wiki.
UPDATE fn_app SET thumbnail =
0x89504E470D0A1A0A0000000D49484452000000D4000000BA0806000000D62063320000200049444154785EECBD09B86557552EFAAF7EB7A76FAA49484B8510087C88A04F405194EBA75E9B400286670BA2A2288D82CDA70F7D8A4A7C220AEA67C305858708DE4B083DF810BC72318020810409E92A55956A4FB3FBD5BEEF1F63CEB5D739D59D537572A1A8BDA152A7CE5EED9CF39F638C7F74CE3DBDB4B8F3F3FF811FFFBEFF829513C7D06CB5E1FB3E5CCF85E33880E3821F47FE7B864FC1EF0A80E714E6EF930EE7410E8F2AAF9703D03B9CE6630E2ECF39CDBF375C542E55BD8B5EFBE4DF8CEF79DAEF367C212F89020E9CA240C177359FCDE32343C063CD17F67B7B39BD921D87420F2C2FB2F1DF85DEF1A43738DD33DB6B57E7AD9C92CDE377C6B1DA7487936EB8F12DCEB6444E9E818D173CCBB2292F7FFA79AC8EAE194CF3881B8677D38356AF371EEB332C49CE7D9E23CF7324698A41B78B99F979BCF1D6F7C379CB7B3E54DCFC3DDF8985F979F87E504EEA498F76C6C1E402E0EA1883A58A2F79B41C285CC0D9CA1C54D7D369578D056D15A4E313E5B79B5168174FA1CFC935BA1108A7B859E5794F1A6CB99D9EA3D7B1DB838E0701377E86CD13B4711A373C49B9E82D90CCF056DE67D337FA3E06C4FA30274176FCEB9376C7F1B1278FC0997E53592595157BFA055F7DAA535F979BB16CE4A7FD9CFC5E1B3635AE3347AF51E4BABF572779E3BA38F926F6EAD5CD683C9AD5B9DEB8BFA5498263C78FEBB6B7B8B4044F245175719A0739D5BCE705721770B93065519E8C12EE36B29A0A2EB6CAE23FC3C08F5FB67253F9F16439566CDA72456228A637EDF666D0CA8B5706D12EF
where app_id = 10;
3. Set in fn_pers_user_app_sel
Next the application needs a corresponding row in the fn_pers_user_app_sel table. This table is used to decide which applications appear on the homepage. The second value inserted must be 1 and the third value inserted must be equal to the app_id previously used. Below is an example of insert values for SO Monitoring.
INSERT IGNORE INTO `fn_pers_user_app_sel` VALUES (10,1,10,'S');
4. Add contact info in fn_app_contact_us
Finally the application needs a corresponding row in the fn_app_contact_us table. This value is used to give contact information for a project if required. The first value inserted must be equal to the app_id previously used. Below is an example of insert values for SO Monitoring.
INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES ( 10,"SO Team","so@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL, "Service Orchestration (SO).");