Git Product home page Git Product logo

esdc-devcop.github.io's Introduction

ESDC's Developer's Community of Practice

This repository is used as the main home for our community site. https://esdc-devcop.github.io/

We publicize all our guides on through separate repos, but are still available under the same site. Here we keep information about past sessions and share our recommendations for developers.

Help Out

We welcome contributions from anybody. Feel free to fork and submit a Pull Request (PR) to any of our repos. If you are from ESDC ask to join as a Member.

See CONTRIBUTING.md

Working with this repository

Requirements

To work with this project you will need node.js and npm installed. This project was created with:

  • node.js v16.13.1
  • npm 8.1.2

For ESDC employees Please read ESDC Development Setup if it's your first time connecting to github from your work computer.

Install dependencies

Clone this repository to a local directory.
From the command line move to the cloned directory (this directory should contain the package.json file) and run:
$ npm install This command will read the package.json and install the npm dependencies to the node_modules directory.

Update submodules

This repository uses a Git submodule from Centrally Deployed Templates Solution (CDTS) / Solution de gabarits à déploiement centralisé (SGDC) to validate all Urls on our site pages. From the command line move to submodules directory and run: $ npm run update-submodules This command will pull in upstream changes from the remote submodule.

Builds

This project uses the nodeJS and npm modules to get the dependencies needed, build, minify and deploy the final JavaScript modules.

License

Unless otherwise noted, the source code of this project is covered under Crown Copyright, Government of Canada, and is distributed under the Open Government Licence - Canada.

The Canada wordmark and related graphics associated with this distribution are protected under trademark law and copyright law. No permission is granted to use them outside the parameters of the Government of Canada's corporate identity program. For more information, see Federal identity requirements.

esdc-devcop.github.io's People

Contributors

ahmad-shahid avatar chyne avatar dependabot[bot] avatar gocalainbelleville avatar j-paquette avatar jeanbenoitrochon avatar joel-ld avatar matherrien92 avatar path125 avatar patricehernert avatar patrickpseguin avatar philippeturcottegov avatar plup2 avatar s-laugh avatar shnitze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

esdc-devcop.github.io's Issues

Topic: Azure DevOps Server features overview

Goals / Recommendation

Go through some of the features available in Azure DevOps server (Git, pipelines, containers, integration with VSCode and VS Studio 2019, etc.)

Expecting to have 2 parts:

  • Part 1 will be how to do what we did in TFS 2015 in ADO
  • Part 2 will be exploring new ADO tools and features, like pipelines.

Community Expectations

Azure DevOps Server is about to be used in ESDC, this session would be an overview of the features.

References

https://docs.microsoft.com/en-us/azure/devops/server/whats-new?view=azure-devops

Topic: Feature Flags

Goals / Recommendation

Show how/when/why to use feature flags in applications.

Community Expectations

Most are aware of the idea and what they might need to do it, but aren't.

References

Improve Page Navigation

The navigation across pages and where to find documents is difficult and needs to be improved.

Because of the GitHub Pages, we'll need to find a plugin that would support a common menu.

Move source control to Git

Goals / Recommendation

We are recommending TFVC to Git (and SVN to Git) with the goal being all solutions on Git (with no specific date yet)
https://esdc-devcop.github.io/strategy/guides/tfvc-to-git.html

We are also recommending TFS to GCcode (or GitHub); with the expectation that most teams will not follow this recommendation right now and stay in TFS. The goal is to have everyone in GitHub other than a few solutions that have exceptions to be in either GCcode or Azure DevOps.
https://esdc-devcop.github.io/strategy/guides/tfs-to-gccode.html

Clarification:
If I team is migrating away from TFS to either GCcode or GitHub, they should only be using TFS for deploying to SADE, and that’s only if they aren’t using Jenkins to deploy to SADE.

Thoughts:

  • People know about Git already
  • Repo can be in TFS, GCcode, or GitHub

Plan:

  • Into session, demo to show how to do it
  • 2 hackathon sessions, walk though with people converting their repos. Have floaters to assist.

Rename Main Menu Headers

Add 'Home' item

Add 'Home' menu item
Add menu item to the left most position.
Redirects to file: index

Modify the following Main Menu header titles

Recommendations : Recommended tools
Redirect to file: tools

Guides: Best Practices
Redirect to file: guides

Events: Presentations
Redirect to file: events

Move Repo (name)

We need to update the name of the repo as the purpose has changed to be more a global space for hosting documents. The documents that are "published" are to be shown though GitHub Pages. In order to edit the header info on Pages, we have to change the name of the repo changing the location as well.

Using the name esdc-devcop.github.io will allow the root page to be at the address https://esdc-devcop.github.io/.

cc @Path125 @jeanbenoitrochon

Bug: Dead/Outdated links

What page is the issue on: tools.html

Problem

A number of links are dead or not working.

Expected Result

All links should work.

Topic: Automate A11y Testing / CCP-D Tech Stack

Goals / Recommendation

Showcase tools and scripts used to automate a11y (accessibility) testing.

Demonstrate how tools can be used to speed up delivery time and what can be done today to start using these tools on all of our applications today, even the legacy stuff.

As the a11y testing is actually quite short, a walk-though of the CCP-D Tech Stack will be shown as well.

Would relate/cover the ideas from topics #85 #8

Community Expectations

  • Knows a11y is important
  • Knows some of the basic rules of a11y
  • Is only doing manual a11y testing though the a11y group

References

https://github.com/esdc-devx/auto-a11y-demo

Managing Merge Requests - Using Code Review

Goals / Recommendation

Describe why pull (merge) requests and code review are important.

Explain the use of Merge Requests, tracking the changes as code moves from branch to branch. Describing how to develop so merge requests are manageable.
Explain what it is that is being reviewed in a code review and how to do that effectively.

Thoughts:

  • Code review has been tried before with poor tools and wasn't sustainable.

Plan:

Demonstrate a code review.

Related Issues

Topic: CDTS v1.0.0 - Going open source - CI/CD

Goals / Recommendation

Moving CDTS to open source node project under wet-boew organization. Changing CDTS to compile with NodeJS and using Travis to deploy to different environments.

Community Expectations

Looking for contributors, suggestions on how to make this project CI/CD.

References

wet-boew/cdts-sgdc (Coming soon)

ajouter une section pour le « Poker Estimation » dans nos Pages GitHub

ajouter une section pour le « Poker Estimation » dans nos Pages GitHub

  1. Rajoute la section”Poker Estimation” sous la section “Practices” dans la page « guides » https://github.com/esdc-devcop/esdc-devcop.github.io/blob/master/_pages/guides.md

  2. Les images doivent etre placés dans un folder « PokerEstimation » que tu dois créée sous https://github.com/esdc-devcop/esdc-devcop.github.io/tree/master/assets

  3. Créé toi une page PokerEstimation.md sous le répertoire suivant https://github.com/esdc-devcop/esdc-devcop.github.io/tree/master/_guides et mets le contenu du courriel que je t'ai envoyé.
    Mets le texte en anglais et en français et les images qui ont été envoyés par courriel

Home Page - Remove the github milestones

“Starting in 2020, a Milestone will be created for each monthly DevCoP presentation. When asking a question, please select the appropriate Milestone to indicate which DevCoP presentation requires an answer.”

Simply create an issue and reference the presenation in the description

Topic: Build in automatic dynamic application security testing (DAST)

Goals / Recommendation

Would perform blackbox security testing with automated tools.

Community Expectations

References

OWASP ZAP --> A full featured free and open source DAST tool that includes both automated scanning for vulnerabilities and tools to assist expert manual web app pen testing. Can be integrated into the CI/CD Pipeline (e.g. Jenkins).

Topic: Series of pipeline sessions based of different categories

Goals / Recommendation

Would be great if we create a series of small demo of a pipeline based on different categories.
Example :

  • Security analysis tools
  • Code quality analysis (Roselyn, FxCop, etc)
  • Performance analysis tools
  • Accessibility analysis tools

To show these tool, we can build a sample project (ex : todo app) with some predefined examples of bad code)
And then doing live demo of theses.

Community Expectations

Present the tools to show the benefit and how it changes your dev workflow.

References

to do ...

Dev CoP - All Presentation/Workshop Dates

Session Pres/Workshop Date Time Topic
Session 1 Presentation Tuesday, September 10th 10am #1 Move Source Control to Git
  Workshop Tuesday, September 17th 12pm #1 Move Source Control to Git
Session 2 Presentation Tuesday, October 15th 10am #10 Make use of the GitFlow branching model
  Workshop Monday October 21st 12pm #10 Make use of the GitFlow branching model
Session 3 Presentation Tuesday November 12th 10am TBD
  Workshop Tuesday November 19th 12pm TBD
Session 4 Presentation Tuesday December 3rd 10am TBD
  Workshop Tuesday December 10th 12pm TBD
Session 5 Presentation Tuesday January 14th 10am TBD
  Workshop Tuesday January 21st 12pm TBD
Session 6 Presentation Tuesday February 4th 10am TBD
  Workshop Tuesday February 11th 12pm TBD
Session 7 Presentation Tuesday March 3rd 10am TBD
  Workshop Tuesday March 10th 12pm TBD
Session 8 Presentation Tuesday April 7th 10am TBD
  Workshop Tuesday April 14th 12pm TBD
Session 9 Presentation Tuesday May 5th 10am TBD
  Workshop Tuesday May 12th 12pm TBD
Session 10 Presentation Tuesday June 2nd 10am TBD
  Workshop Tuesday June 9th 12pm TBD

Update Strategy

The strategy is changing to include streams and hasn't had the time to focus on management support. So the documentation on this should be updated.

Update Links

This doc is getting migrated to GitHub, we'll need to make sure the link gets updated when it does, if it hasn't already.

Originally posted by @s-laugh in #67

Topic: Continuous Learning and Improvement Q1 Strategy

Goals / Recommendation

Hi DevCop!

I am sending this on behalf of the IT Strategy team, who would like to inform your community regarding our Continuous Learning and Improvement Strategy for Q1 of 2020 .

Over the course of the next few weeks, the team will be engaging in outreach throughout IITB, and relevant parties throughout the organization, to socialize its approach to assisting IITB with its digital transformation and alignment with the Policy on Service and Digital and the Digital Operations Strategic Plan: 2018-2022. The aim of this outreach is to raise awareness, ensure that groups looking to start leveraging this strategy during Q1 understand how it can benefit them, and help teams throughout IITB deliver on their mandates.

Please let us know when we would be able to present our approach to your community.

Thank you for your time.

Sincerely,

Community Expectations

Provide general feedback on the initiative. No prior knowledge needed.

References

Recommend a branching model

Goals / Recommendation

Use GitFlow when starting a branching model with Git.
https://datasift.github.io/gitflow/IntroducingGitFlow.html

Recommendation details are documented here, with some extra parts for committing/merging code that will assist in using this branching model.
https://esdc-devcop.github.io/guides/source-control/working-with-git.html

Thoughts:

  • Those that know branching models and modern development practices probably won't like GitFlow as it's too much maintenance.
  • GitFlow is similar to current TFS branching model used in ESDC, creating an easier transition.

Plan:

  • Focus on teaching, and demos
    • Why we need a branching model
    • Standard life-cycle deployment
    • Emergency release
    • Feature development
    • Reassurance of existing TFVC (TFS) standards
  • Hands-on:
    • Set up branches
    • Configure settings
    • Walk though simplified change

Topic: Creating & Using APIs from the store (using REST)

Goals / Recommendation

Overview session

  • Show how APIs are easy to create with REST
  • Show how to push APIs to the store
  • Show how to consume APIs from the store

In-depth session

  • Show how to create complex systems of APIs

Community Expectations

Most have knowledge of APIs and maybe some with limited experience with them.

References

Determine Streams and OPIs

Need to confirm the streams and whole will be running the content for those streams.

Streams

  • Micro-services - Interoperability
  • CI/CD - DTS?
  • Cloud - Cloud CoE?

Topic: Build in automated Software Composition Analysis (SCA) Security Testing

Goals / Recommendation

Verify open source dependencies for vulnerabilities.

Community Expectations

References

  • Snyk --> Snyk continuously monitors your application's dependencies
    and lets you quickly respond when new vulnerabilities are disclosed.

  • OWASP Dependency Check --> Dependency-Check is a Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project's dependencies. It does this by determining if there is a Common Platform Enumeration (CPE) identifier for a given dependency. If found, it will generate a report linking to the associated CVE entries.

    Note: OSS is also referred by Gartner as Software Composition Analysis (SCA), not to be confused with Source Code Analysis (SCA) which refers to Static Application Security Testing (SAST).

Commit as often as we save?

What is the reasoning behind the commit as often as you save guideline? I know we're also saying to always squash, but I'd personally still always have a meaningful commit message describing the change, and I'd want to run my tests and make sure the application still builds as well, before committing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.