Allow for the creation and management of organization records (UXPROD-1139)

[FOLIO-1938] Create organizations github repositories and add to CI Created: 04/Apr/19  Updated: 03/Jun/20  Resolved: 24/Apr/19

Status: Closed
Project: FOLIO
Components: Continuous Integration
Affects versions: None
Fix versions: None
Parent: Allow for the creation and management of organization records

Type: Story Priority: P2
Reporter: Piotr Kalashuk Assignee: David Crossley
Resolution: Done Votes: 0
Labels: acquisitions, ci, organizations, platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks MODORGSTOR-3 Sample and Reference Data Closed
blocks MODORGSTOR-4 Refactor APIs Closed
blocks UIORGS-2 Restructure "view details" screen for... Closed
blocks UIORGS-3 Restructure "create vendor" screen fo... Closed
blocks UIORGS-4 Restructure "edit vendor" screen for ... Closed
Gantt End to Start
has to be done before UIORGS-1 Project Setup Closed
has to be done before MODORGSTOR-2 Project Setup Closed
Relates
relates to FOLIO-1957 Include mod-organizations-storage and... Closed
relates to UIORG-156 Rename ui-organization Closed
relates to OKAPI-661 Test effect of module renaming on Oka... Closed
relates to FOLIO-1954 Add dev document how to rename a module Closed
relates to FOLIO-2014 Exclude vendors app from reference en... Closed
relates to UXPROD-1544 Pivot Vendor App into Organizations App Closed
Sprint: CP: sprint 62, Core: Platform - Sprint 61
Story Points: 5
Development Team: Core: Platform
Epic Link: Allow for the creation and management of organization records

 Description   

Overview:
There is UXPROD-1544 Closed which requires "vendors" to become "organizations". At the moment there are 3 "vendors" repositories:

All of these repositories have releases so to not confuse anyone the decision is to create new ones for "organizations" and deprecate vendor-related (instead of renaming).

The preferred option is to "clone" existing repositories to new ones with history but without tags (i.e. without any information about releases). In case this is not an option, we will copy-paste content manually.

Please create the following github repositories and associated CI infrastructure (Jenkins/SonarQube/etc.):

Acceptance Criteria:

  • The three repositories are created and added to the respective teams
  • Members of those teams can create and merge branches
  • CI has been setup for the repositories, including Jenkins builds and SonarQube analysis

Note: there is FOLIO-1710 Closed which is intended to describe process on how to deprecate existing modules but still in progress. Please let us know if all 3 repositories can be deprecated as part of this ticket or we need to follow some guidelines to do this.



 Comments   
Comment by Craig McNally [ 04/Apr/19 ]

Note that there are plans to rename the existing ui-organization (singular) repo to (I think) ui-tenant-settings (See UIORG-156 Closed ).

Comment by David Crossley [ 05/Apr/19 ]

I intend to commence this next Sprint 61.

The guidelines for deprecation ( FOLIO-1710 Closed ) are not yet ready. I added these repos to the list in its associated FOLIO-1838 Open , and will partially do them as part of this current ticket.

Comment by David Crossley [ 05/Apr/19 ]

Another task when moving and renaming RAML-related repositories is to re-arrange the API docs configuration FOLIO-903 Open . The lint-raml and generate-api-docs CI jobs will still operate without that config, but its entry in the API docs website will not be available until then.

Comment by David Crossley [ 05/Apr/19 ]

Should your team delete their old branches before the move.

Comment by Piotr Kalashuk [ 05/Apr/19 ]

All old branches have been deleted.

Comment by David Crossley [ 08/Apr/19 ]

For reference notes, this was my procedure:

Use GitHub "New repository" to create a new completely empty repository.

cd ~/temp
git clone --recursive --single-branch --no-tags https://github.com/folio-org/mod-vendors
verify history: git log Jenkinsfile
verify no tags: git tag

edit Jenkinsfile and set all to false
git commit -m "Temporarily disable Jenkins" Jenkinsfile

git push --dry-run https://github.com/folio-org/mod-organizations-storage
git push https://github.com/folio-org/mod-organizations-storage

verify:
git clone --recursive https://github.com/folio-org/mod-organizations-storage
Comment by David Crossley [ 08/Apr/19 ]

However i did restore the Jenkinsfile too early in mod-organizations-storage.

Note that for all three repositories, you now need changes to code, and to configuration (package.json, pom.xml, MD) to adjust each one's repository name.
Then each Jenkinsfile can be restored.

When that is ready, then i need to make a special commit to each master to trigger their initial Sonar scan.

Comment by David Crossley [ 08/Apr/19 ]

The GitHub Teams have been enabled for Acquisitions and Acquisitions-UI as specified above.

However there were also other Teams for the old repositories. I have contacted Piotr and Craig about that.

Comment by David Crossley [ 08/Apr/19 ]

There is "master branch protection" enabled for each. However still needs "required status check" for "license/cla" (i am working on that part).

Also the "Require pull request reviews before merging" is not yet configured for each.

Comment by David Crossley [ 08/Apr/19 ]

Please provide the GitHub "Repository Description" for each.

Comment by David Crossley [ 08/Apr/19 ]

I will proceed to do basic "deprecation" FOLIO-1710 Closed for the old ones.

Comment by Piotr Kalashuk [ 08/Apr/19 ]

Thank you very much David Crossley! All required changes (or at least most of them) will be done in scope of MODORGSTOR-2 Closed , MODORGSTOR-4 Closed and UIORGS-1 Closed this week.

Comment by David Crossley [ 08/Apr/19 ]

The reason that i disabled those tasks in Jenkinsfile, was so that partially configured artifacts did not get deployed. So i presume that the teams will restore that during their first branch push.

Comment by Piotr Kalashuk [ 08/Apr/19 ]

Thanks, this is what we expected. Sorry that I did not specify this explicitly in the description. The mod-organizations-storage's Jenkinsfile can be only updated once module's interface, permissions and endpoints are updated in scope of MODORGSTOR-4 Closed . So thank you again!

Comment by David Crossley [ 08/Apr/19 ]

Now configured each to have "Require pull request reviews before merging".

Comment by David Crossley [ 08/Apr/19 ]

Drat, i made a mistake – the Jenkinsfile should have been removed from each repository. John has done that now, until the repositories are ready. He has also rectified the snapshot releases that were made erroneously. Thanks.

Comment by Piotr Kalashuk [ 09/Apr/19 ]

The PR #1 for mod-organizations-storage has been created to introduce new module interfaces, permissions and endpoints. We've also included Jenkinsfile there because at this point mod-organizations-storage becomes completely different to mod-vendors.

Comment by Mikita Siadykh [ 09/Apr/19 ]

Hi guys,

setup for ui-organizations has been merged together with Jenkins file, everything is green :+1:
https://jenkins-aws.indexdata.com/job/folio-org/job/ui-organizations/job/master/

Comment by Piotr Kalashuk [ 10/Apr/19 ]

David Crossley, Please note that the PR #1 for mod-organizations-storage cannot be merged by us so we require your assistance.

Also could you please let us know if separate ticket needs to be created to include mod-organizations-storage and ui-organizations into testing/snapshot environments to allow proper end-to-end verification and retire vendors apps at some point?

Comment by David Crossley [ 10/Apr/19 ]

I did that merge and it seems to be successful. I gather that your next PR will restore those other two Jenkinsfile jobs.

Yes, please do add a separate ticket for the testing/snapshot environments.

Comment by Piotr Kalashuk [ 10/Apr/19 ]

Thank you very much David Crossley!

Comment by Mikita Siadykh [ 10/Apr/19 ]

Hi David Crossley

opened new one to include new modules https://folio-org.atlassian.net/browse/FOLIO-1957

cc Piotr Kalashuk

Comment by David Crossley [ 10/Apr/19 ]

For ui-plugin-find-organization, i restored the Jenkinsfile and pushed direct to master, which triggers the initial Sonar scan.

Comment by Mikita Siadykh [ 10/Apr/19 ]

David Crossley
we don't need it now, as it has a reference to unreleased repo, I'll add it by myself when everything is ok

Comment by David Crossley [ 11/Apr/19 ]

With that, your initial Sonar scan is now done, and the other Jenkins jobs are operating. So you can proceed to make the remaining changes.

Comment by David Crossley [ 11/Apr/19 ]

Regarding deprecation:
All three old repositories are set to be read-only.
Their GitHub repository "Description" marks them as deprecated.
The dev.folio.org list of source repositories now shows the new ones.
The "API Reference documentation" now has a Deprecated section including "mod-vendors".
The separate FOLIO-1838 Open will handle any remaining deprecation steps.

Comment by David Crossley [ 23/Apr/19 ]

This ticket Status is now "In Code Review". I reckon that the three new repositories and the CI are now operational.

Comment by Piotr Kalashuk [ 23/Apr/19 ]

Thanks David Crossley! Yes, all the required changes are in place and this ticket can be closed. We will create new ticket to fully "retire" vendors modules/repositories once migration is fully completed.

Generated at Thu Feb 08 23:17:00 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.