Egeria has been accepted as a featured project at the GHC's Open Source Day.  https://ghc.anitab.org/.  This is a 1 day virtual hackathon for attendees.  The plan is to collectively build a demo showing how our fictitious company Coco Pharmaceuticals can use Egeria to plan, coordinate and measure their sustainability program.  The participants have 5 hours and so they will help us build a demo showing how the different parts of Coco (labs, factories, offices, IT data centres, …) can call Egeria through its various APIs to build their inventory, assess their current position and monitor their progress as they change their operations.

Proposal

Egeria project description

Egeria (https://egeria-project.org/) is an open source, open governed project with a highly diverse and friendly community (female project leader and almost 50% of maintainers are women playing active roles in the project). We are seeking to solve a difficult problem that causes organizations to be inefficient and slow to change. Within an organization there are a lot of different technologies deployed. This is using power and other resources. Often there is a lot of duplicated work. People do not know what is going on in other parts of the organization because they are trapped in their technology silos. Egeria seeks to build an inventory of that technology and its associated data, understand who is using it and why. It seeks to exchange this knowledge between the different tools to reduce rework and expose duplication. The organization is able to become leaner systematically.

The Egeria software is written mainly in Java with some python and javascript. The core is very complex and needs people willing to focus on it full time. However, there is also a lot of opportunities for others to make a valuable contribution to the project in the connectors, utilities and samples that call the core services. This is where we plan to organize the issues for the participants in the OSD.

The project uses personas from a fictitous company called Coco Pharmaceuticals (https://egeria-project.org/practices/coco-pharmaceuticals/). Using Coco Pharmaceuticals as an example, we plan to build a repository of samples showing how such an organization can use Egeria to improve their sustainability. This is where the participants will work. The repository is empty now (https://github.com/odpi/egeria-samples-api) but will have descriptions of the challenge, the triaged issues and links to documentation. The separate repository will make it easier for participants to get up and running and see their efforts.

We will divide the issues into 4 groups - 1) beginners 2) some coding experience but not worked on open source 3) experienced with open source 4) expert programmer looking for a difficult challenge. Participants can work in teams or alone.

Participants will get experience in:
* Open source etiquette
* Working with GitHub and git
* Running Egeria in Kubernetes - to test their code
* Creating code, building and testing it
* Submitting their code into the project using the pull-request (PR) process

With this set up, participants will be able to continue to work on their piece long after the event (and others may join the challenge). As they gain experience, they may choose to move to other parts of the project.

Project promotion

Come and help build software that improves sustainability in an organization by both highlighting wasteful use of resources and helping people to work together. Egeria is an open source, open governed project with a highly diverse and friendly community. We are seeking to solve a difficult problem that causes organizations to be inefficient and difficult to change and we need your help. Whether you are new to programming or an experienced developer who loves a difficult challenge, come and join the fun.

Project Logo

https://lf-master-project-logos-prod.s3.us-east-2.amazonaws.com/odpi-egeria.svg

Code of conduct

https://github.com/odpi/egeria/blob/master/CODE_OF_CONDUCT.md

Issues in new repository

https://github.com/odpi/egeria-samples-api/issues

Planning and preparation

Tasks

  • Decide on how participants prepare for workshop and how they will build and test their code
  • Plan/create on the education we should give at the start of the session, such as ...
    • How to use github
    • How to set up dev environment
    • Knowledge of what a sustainability initiative entails
    • Understanding of Coco Pharmaceuticals and the different personas they will be working for/with
  • Create 30+ issues in https://github.com/odpi/egeria-samples-api/issues that define the work that the participants will do.  These need to take into account different levels of skill.  They will be aligned to the different persona in Coco Pharmaceuticals
  • Build the open metadata archives that seed the metadata repositories used by the participants - see https://github.com/odpi/egeria-samples/tree/master/sample-metadata-archives/coco-metadata-archives
  • Ensure all APIs that participants expected to use have FVTs defined so they do not encounter any problems with the base Egeria code
  • Plan a walkthrough of the demo for the end of the session that highlights the achievements of the participants (and fills in the gaps that occur due to gaps in the contributions).

Participant work items

The participants will be building sample programs that use the Egeria clients to retrieve and maintain open metadata.  Some samples show the use of metadata in conjuction with processing data from the business systems and reference data from the standards and regulations.   Each sample is independent of the others, although as more samples are contributed, the samples that query will see more open metadata returned.

The samples are divided into the following groups:

The issues for participants are located in https://github.com/odpi/egeria-samples-api/issues.  They are tagged with labels indicating which group of samples they contribute to, the implementaton language (python or java) and how difficult they are.  There are 4 level of difficulty:

  • Good first issue - only one Egeria call to make since more time will be spent mastering the whole contribution process.  There will be detailed instructions on what to code and where to put it.
  • New to open source - typically linking a few Egeria calls with some logic to process the results - the coding will be relatively easy to give them time to master the Git/PR processes.  There wil lbe guidance on which Egeria calls to use.
  • Experienced in open source - more complex coding around the Egeria APIs - their challenge will be to learn about Egeria and so they will be guided to the right documentation - but they need to follow it to determi the right API calls.
  • Expert - these are likely to be regular contributors to Egeria and are expected to be familiar with the basic types and the documentation.  They will probably be using APIs thata are new to them.

The descriptions in each issue will eventually contain the following information:

  • Summary of task and its purpose
  • Background reading and similar examples
  • What has been provided - understanding the starting point - where to put your code
  • Suggested list of tasks
    • Before you start
    • Basic function
    • Suggested extensions
    • Building test cases
    • What to document and where.
      • Javadoc
      • README.md
      • package-info.java

The git repository will contain the directory structures, source files, and much of the build system so that we can build all samples as they are contributed.

Notes from briefing 5th August 2022

There will be a slack channel for the event ... we be onboarded about a week before ...

We will have our own zoom room that we can manage.  Can have break out rooms.  Zoom room can take 1000 people - we can nominate a max number of people.

All participants have to register to work on the project ... This is the page that the participants will see to decide which projects to choose from.  https://anitab-org.github.io/open-source-day/featured/

Participants register from  8th-to-16th September so we will only get one days notice on the numbers signed-up to Egeria.


  • No labels