Giter Site home page Giter Site logo

ausdto / dta-website Goto Github PK

View Code? Open in Web Editor NEW
11.0 37.0 14.0 371.94 MB

Archived website for the Digital Transformation Agency

Home Page: https://www.dta.gov.au

License: Other

Ruby 8.73% HTML 51.35% Shell 5.45% JavaScript 2.10% CSS 29.50% Liquid 2.88%
website government jekyll australia

dta-website's Introduction

Digital Transformation Agency's website

CircleCI Stories in Ready Code Climate

This website was archived Nov 2018. To make sure you're getting the most up-to-date information about DTA, see our current site.

Technology

www.dta.gov.au is a Jekyll website.

Dependencies

To get a local development environment on macOS:

# install homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# install rbenv
brew install rbenv ruby-build

# Add rbenv to bash so that it loads every time you open a terminal
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

# Install developer tools
xcode-select --install

# Install Ruby
rbenv install 2.3.3

# Install node.js
brew install node

# Clone the repo into the current directory
git clone [email protected]:AusDTO/dta-website.git

# Install Bundler and install all gem dependencies
cd dta-website
gem install bundler
bundler install

Run the site locally

After installing the dependencies you can run the site locally with:

bundle exec jekyll serve

You should then be able to see the site at: http://127.0.0.1:4000

Whenever you make a change, it can take up to 30 seconds for jekyll to re-build the site and show your change. You may instead wish to start the site with bin/servefast.sh. This will reduce the build time by disabling the search plugin and only rendering the latest post.

Run tests locally

The test are automatically run in CircleCI, but you can run the tests locally with:

bin/cibuild.sh

bin/citest.sh

Test external links

External links are not tested as part of CI in bin/citest.sh to keep test results reproducible.

You can separately test external links with:

bin/checkexternal.sh

Test accessibility

The site can be tested for accessibility using pa11y.

Install pa11y-ci and it's dependencies with:

  1. npm install -g [email protected]
  2. npm install pa11y-ci@^1.1

You can then run the test with:

bin/checkaccessibility.sh

Development Process

Issues are tracked on GitHub and are best viewed using waffle.

The default branch is develop which is continuously deployed by circleCI to https://dta-website.apps.y.cld.gov.au/

The production branch is master which is continuously deployed by circleCI to https://www.dta.gov.au/

When starting a new change, branch from develop.

If needed a branch can be continuously deployed by circleCI to a staging site at https://dta-website-branchname.apps.y.cld.gov.au/. As long as the circleCI tests are passing, this staging site will be kept up to date with all commits to the branch. To start continuously deploying a branch, add the branch name to DEPLOY_BRANCHES in bin/buildrc. We have a quota for the number of running apps, so when you are finished you should remove the branch from DEPLOY_BRANCHES and delete the app by running cf delete dta-website-<branchname>.

When your change is ready, submit a PR to the develop branch. After the PR is merged, it will be deployed to staging.

When ready for a production deploy, merge the develop branch to master. You can do this through Github with a PR.

Working with embargoed content

The dta-website repository is public. All content including drafts is publicly accessible.

If you need to draft content which is embargoed, you need to use the private repository.

You should keep the content on a new branch, i.e. do NOT merge to develop or master.

When the content is ready to be published and approved for release, the content needs to first be merged into a branch in the public repository.

This must be done on the command line:

  • git clone [email protected]:AusDTO/dta-website.git
  • cd dta-website
  • git remote add private [email protected]:AusDTO/dta-website-private.git
  • git fetch private
  • git checkout private/branchname
  • git checkout -b branchname
  • git rebase -i origin/develop # squash any commits if required
  • git push origin # pushes the branch to the public repository

The branch can now be worked on in the public repository and merged via a PR to develop as normal.

cloud.gov.au details

staging

production

  • api: https://api.system.b.cld.gov.au
  • org: dta
  • space: website
  • circle user: dtacircleci
  • has a cloudfront distribution under the parent DTA AWS account
  • cloudfront is logging to an S3 bucket in the parent DTA AWS account
    • dta-site-cdn-logs
  • uses Finance for dns

Setting up CircleCI

  • go to circleci in the browser and authorize with Github.
  • follow your new github repo
  • add the following environment variables via the circleci UI
CF_PROD_API
CF_STAGING_API

CF_USER
CF_PASSWORD
CF_ORG
CF_SPACE

CF_BASIC_AUTH_USERNAME  [optional]
CF_BASIC_AUTH_PASSWORD  [optional]

dta-website's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dta-website's Issues

Host IE 9 3rd party js files locally

From San's security audit:
i noticed the sourcecode has some javascripts hosted on 3rd party sites that will be loaded on IE <9 browsers. Can we remove these or hosted ourself?

update httpredir

update httpredir
This is to be done without ssl for now

dto.gov.au         --> www.dta.gov.au
www.dto.gov.au     --> www.dta.gov.au
dta.gov.au         --> www.dta.gov.au

bake a new httpredir AMI and deploy it

Favicon

Favicon is currently old DTO logo

setup new cloud.gov.au org and space

for neatness and consistency
add a new org and space to both staging and production cloud.gov.au platforms that are the same on both.

dta - website

Setup blue-green deploys to staging

This might be important if we need to keep working on the site while stakeholders are reviewing the staging site, currently staging goes down everytime we modify master.

Guides navigation

Guides pages currently ditch the navigation and show 'related guides' that don't use the ui kit nav styling

Migrate over from the existing DTO website

I have spoken with @aussielunix and this should be the technical process for migrating over the website when we need to:

  • Add in redirects in Jekyll for any URLs which have changed with the DTA website
  • Change the deployment pipeline to release from the DTA website repository, instead of the DTO website
  • Set up digital.gov.au to serve from the same backend (S3 bucket) as dto.gov.au
  • Deploy the new DTA website to the backend
  • Add a hard redirect from dto.gov.au to digital.gov.au

New page hierarchy

Hello,

Angela and I have finalised a new page structure for the DTA website (attached).

Thanks,
Jordan

img_4775

Fix DSS criteria local nav

Currently it only lists the Criteria, but dto.gov.au also has the DSS local nav behind a Show more button

Remove the our work section

  • Move the Transformation page (/our-work/transformation/) to Exemplars (/what-we-do/exemplars).
  • Move the Digital Marketplace /our-work/marketplace/ to /what-we-do/marketplace/
  • Move GOV.AU (/our-work/gov-au/), Identity (/our-work/identity/), Performance Dashboard (/our-work/performance/) and Cloud (/our-work/cloud/) to be sections on /what-we-do/platforms/.
  • Move the Communities page (/our-work/communities/) to /for-digital-service-teams/communities/
  • Move the Standard content (/our-work/standard/) to be a section on the Policy page /what-we-do/policy/
  • Remove the timelines from all these pages
  • Remove the remaining Our work pages and the index page.

Global navigation

Currently just uses ui-kit, but doesnt look very good on non-mobile

Change to new homepage

Based on Simon's mockup in https://github.com/AusDTO/dto.gov.au/pull/728

With following changes:

  • the social media section to be replaced with a list of social media links (similar to what's on the top of the current DTO Contact page)
  • the agencies section to be removed for now
  • the "leadership" section to include photos of Minister Taylor, Paul and Nerida, in a grid format

Change to git flow

Change main branch to be develop. Circle should deploy to staging from develop. Later we will deploy to production from the master branch.

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.