Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: laddr v2.4.0 (rolled back) #202

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
bf4b6bd
Project Roles/Applications
kevin-dexter Jan 10, 2018
7aa4e51
Don't show person summary details in blog post byline
themightychris Feb 26, 2018
81e11c8
Add emergence-saml2 and emergence-slack layers
themightychris Apr 7, 2018
bec4a1c
Switch default branch to develop
themightychris Apr 9, 2018
8b968f2
Update clone-from-git.md
themightychris Apr 10, 2018
767bb5e
Update clone-from-git.md
themightychris Apr 10, 2018
9533fc0
Load upstream icon subtemplate across site
themightychris Apr 11, 2018
2625e39
Convert checkbox subtemplate markup to bootstrap
themightychris Apr 11, 2018
c899763
Add 'auto' option for timestamp times
themightychris Apr 11, 2018
26aa7aa
Update events feature and add full schedule CRUD
themightychris Apr 11, 2018
c5b7e41
Updated "brigades using laddr" section of readme
AndrewNatoli Jun 4, 2018
cbbeab1
Updated Open Charlotte site in README + laddr skeleton URL
AndrewNatoli Jun 15, 2018
a07ac99
Merge pull request #195 from AndrewNatoli/patch-1
themightychris Jun 19, 2018
c9a590c
Remove Code for Miami
themightychris Jun 19, 2018
f5a4f67
Update README.md
themightychris Jul 28, 2018
60226bb
chore: initialize .holo/config.toml
themightychris Dec 26, 2018
189d248
chore: initialize .holo/sources/skeleton-v2 config
themightychris Dec 26, 2018
cd73976
chore: initialize .holo/branches/skeleton config
themightychris Dec 26, 2018
a5162c9
chore: switch skeleton-v2 branch to emergence-skeleton
themightychris Jan 8, 2019
0059838
chore: add .studiorc studio environment
themightychris Jan 8, 2019
d666449
chore: update skeleton holobranch name to emergence-skeleton
themightychris Jan 8, 2019
18afcb2
chore: fork off emergence-site holobranch
themightychris Jan 8, 2019
ce67963
chore: update .holo/config.toml kind to holospace
themightychris Jan 8, 2019
9ebd738
fix: exclude sass lens and built css from skeleton-v2
themightychris Jan 8, 2019
2c65682
fix: add use statement to catch TableNotFoundException
themightychris Jan 8, 2019
7db23af
fix: point logo link to home page
themightychris Jan 8, 2019
2e9c1a2
feat: add codeforphilly holobranch example
themightychris Jan 8, 2019
aea642d
fix: don't exclude css from skeleton-v2, need for site-admin
themightychris Jan 8, 2019
714f30e
fix: update function signature for checkWriteAccess
themightychris Jan 8, 2019
5707d1d
refactor: migrate Git configs to holomappings
themightychris Jan 9, 2019
b9b2f76
refactor: prefix codeforphilly holobranch with example-
themightychris Jan 9, 2019
d383386
docs: first pass at README updates
themightychris Feb 6, 2019
0edbe83
commit lingering roles edits from laddr-v2-dev instance
themightychris Feb 6, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .holo/branches/emergence-site/_laddr.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
2 changes: 2 additions & 0 deletions .holo/branches/emergence-site/_skeleton-v2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[holomapping]
files = "*/**"
2 changes: 2 additions & 0 deletions .holo/branches/emergence-skeleton.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[holobranch]
lens = false
4 changes: 4 additions & 0 deletions .holo/branches/emergence-skeleton/_emergence-github.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
before = "laddr"
4 changes: 4 additions & 0 deletions .holo/branches/emergence-skeleton/_emergence-redirects.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
before = "laddr"
4 changes: 4 additions & 0 deletions .holo/branches/emergence-skeleton/_emergence-saml2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
before = "laddr"
4 changes: 4 additions & 0 deletions .holo/branches/emergence-skeleton/_emergence-slack.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
before = "laddr"
3 changes: 3 additions & 0 deletions .holo/branches/emergence-skeleton/_laddr.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holomapping]
files = "*/**"
after = "skeleton-v2"
2 changes: 2 additions & 0 deletions .holo/branches/emergence-skeleton/_skeleton-v2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[holomapping]
files = "*/**"
6 changes: 6 additions & 0 deletions .holo/branches/emergence-skeleton/php-classes/ReCaptcha.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[holomapping]
holosource = "recaptcha"
root = "src/ReCaptcha"
files = "**/*.php"
after = "skeleton-v2"
before = "laddr"
3 changes: 3 additions & 0 deletions .holo/branches/example-codeforphilly/_codeforphilly.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holomapping]
files = "*/**"
after = [ "laddr" ]
3 changes: 3 additions & 0 deletions .holo/branches/example-codeforphilly/_laddr.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holomapping]
files = "*/**"
after = [ "skeleton-v2" ]
2 changes: 2 additions & 0 deletions .holo/branches/example-codeforphilly/_skeleton-v2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[holomapping]
files = "*/**"
2 changes: 2 additions & 0 deletions .holo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[holospace]
name = "laddr"
3 changes: 3 additions & 0 deletions .holo/sources/codeforphilly.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/CodeForPhilly/codeforphilly.org"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/emergence-github.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/JarvusInnovations/emergence-github"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/emergence-redirects.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/JarvusInnovations/emergence-redirects"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/emergence-saml2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/JarvusInnovations/emergence-saml2"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/emergence-slack.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/JarvusInnovations/emergence-slack"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/recaptcha.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/google/recaptcha"
ref = "refs/heads/master"
3 changes: 3 additions & 0 deletions .holo/sources/skeleton-v2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[holosource]
url = "https://github.com/JarvusInnovations/emergence-skeleton-v2"
ref = "refs/heads/emergence-skeleton"
4 changes: 4 additions & 0 deletions .studiorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

hab pkg install emergence/studio
source "$(hab pkg path emergence/studio)/studio.sh"
52 changes: 29 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,36 @@
# laddr

Laddr -- pronounced "ladder" and named after the essential tool for fire brigades -- is a web application designed to create an online home-base for [Code for America brigades](http://brigade.codeforamerica.org).
Laddr -- pronounced "ladder" and named after the essential tool for fire brigades -- is an online homebase for your local [Code for America Brigade](http://brigade.codeforamerica.org). It is designed to be cheap-to-host and easy-to-hack platform for civic hacking groups to maintain an online precense and automate support for their real-world operations.

## Hosting
Code for Philly hosts and maintains instances for free for other brigades on our multi-tenant infrastructure. Email [[email protected]](mailto:[email protected]) to get started with a sandbox instance.
## Getting started

## Help / Support / Questions / Chat
Guides and support are available at our Discourse foreum at [forum.laddr.us](http://forum.laddr.us/)
There are three ways to get started with Laddr:

Join Code for Philly's Slack channel for Laddr, you can self-register via codeforphilly.org: [codeforphilly.org/chat/laddr](https://codeforphilly.org/chat/laddr)
- [Request free hosting of a copy for your brigade](http://forum.laddr.us/c/hosting-requests), courtesy of Code for Philly
- [Clone laddr](#clone-laddr) to work on and contribute to its core, shared functionality
- [Extend laddr](#extend-laddr) to create a workspace for customizing a copy of laddr for your brigade without forking the whole thing

### Clone Laddr

*TODO: document me*

### Extend Laddr

*TODO: document me*

## Support

- [Laddr forum/wiki](http://forum.laddr.us/)
- [#laddr channel in Code for Philly's Slack](https://codeforphilly.org/chat/laddr)
- #laddr channel in Code for America's Slack
- [laddr issues on GitHub](https://github.com/CodeForPhilly/laddr/issues)

Guides and support are available at our Discourse forum at

Join Code for Philly's Slack channel for Laddr, you can self-register via codeforphilly.org:

## Features

- [Projects Directory]
- Each project can have a users URL, developers URL, markdown README
- Projects can be tagged by topic, tech, and event
Expand Down Expand Up @@ -39,30 +59,16 @@ Join Code for Philly's Slack channel for Laddr, you can self-register via codefo
- Croatian and Korean translations in progress

## Brigades using Laddr

- [Code for Philly](http://codeforphilly.org)
- [Extending repository](https://github.com/CodeForPhilly/codeforphilly.org)
- [Code for Dayton](http://codefordayton.org)
- [Code for Miami](http://projects.codeformiami.org)
- [Code for Croatia](http://codeforcroatia.org)
- [Creative Commons Korea](http://labs.cckorea.org/)
- [Code for Cary](http://www.codeforcary.org/)
- [Code for Charlotte](http://codeforcharlotte.org)
- [Code for Durham](http://codefordurham.com/)
- [Code for Raleigh](http://www.codeforraleigh.com/)

## Requirements
Laddr is built on the Emergence PHP framework and deployement engine, and requires an Emergence server to host it.

Emergence takes just a few minutes to setup on a Linux VM, and is designed to have a fresh system to itself. Once launched
it will configure services on the machine as-needed to host an instance of the application along with any other
sites, clones, or child sites. The guides for Ubuntu and Gentoo are most up-to-date: http://emr.ge/docs/setup

## Installation via Emergence (linked child)
- Create an emergence site that extends v1.laddr.io (access key: MaPG1YxorgU6ew64)

## Installation from Git
- Create an emergence site that extends skeleton.emr.ge (access key: 8U6kydil36bl3vlJ)
- Upload contents of git repository using WebDAV client (CyberDuck is the best open-source option)

- [Open Charlotte Brigade](https://brigade.opencharlotte.org/)

[Projects Directory]: http://codeforphilly.org/projects
[Projects list available via dynamic CSV]: http://codeforphilly.org/projects.csv
Expand Down
59 changes: 37 additions & 22 deletions docs/laddr/development/clone-from-git.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,33 @@
# Clone Laddr from git

This guide is for developers who want to work on Laddr's core code. It will walk you through
setting up a fresh site instance and cloning a version of Laddr into it from a remote git
repository.

## Step 1: Obtain an emergence host

You will need a host server dedicated to running emergence. If you don't have access to one already,
the easiest way to get started is to spin up a small **Ubuntu 14.04 LTS** virtual machine with a cloud
the easiest way to get started is to spin up a small **Ubuntu 16.04 LTS** virtual machine with a cloud
provider like Digital Ocean, Google Cloud Compute, AWS, or countless others. Once you are logged in
to your fresh Ubuntu 14.04 machine, follow [emergence's installation guide][emergence-install]
to your fresh Ubuntu 16.04 machine, follow [emergence's installation guide][emergence-install]
to prepare it for hosting emergence-powered sites like Laddr.

## Step 2: Create a site
Alternatively, if you're familiar with Docker, you can spin up an emergence container:

```bash
docker run -d \
-it \
--name emergence \
-v /emergence:/emergence \
-p 127.0.0.10:80:80 \
-p 127.0.0.10:3306:3306 \
-p 127.0.0.10:9083:9083 \
jarvus/emergence \
tmux new -s emergence emergence-kernel
```

## Step 2: Create a site for your laddr development instance

Laddr is based on emergence's `skeleton-v2` site template. Unlike when provising a *deployment*
instance of Laddr, for development you want to create a site extending Laddr's parent
site like Laddr does rather than Laddr itself. Laddr's code will be cloned from git and applied
Expand All @@ -20,30 +37,28 @@ Use emergence's host control panel to create a new site with your desired hostna
be sure to select `skeleton-v2.emr.ge` as the parent hostname. After the site is created login to <kbd>/develop</kbd>
with your initial user developer account.

## Step 3: Configure git link
To configure a link between your emergence instance and a git repository, create a file called
<kbd>Git.config.php</kbd> in the top level of the `php-config` directory and copy its initial contents
from the [latest version of Laddr's development Git.config.php][Git.config.php]
## Step 3: Configure mapping to the laddr git repository

To configure a link between your emergence instance and a git repository, create a new file at `php-config/Git.config.d/laddr.php` and copy its initial contents
from the [the file at the same path in Laddr's develop branch][git-config]
on Github.

You may change `originBranch` to select a different source and change `workingBranch` to change which branch you'll
be initially setup to commit to (both can be set to the same thing.)
Optionally, edit the `remote` option to point at your own fork, and switch it to the SSH protocol if you'd like to be able to push changes from the web UI.

See the [emergence manual page on git integration][emergence-git] for full details on all the configuration
options.
## Step 4: Initialize git repository

## Step 4: Initialize git links
Visit <kbd>/git/status</kbd> to view initialize the link with the configured git repository. If you are
cloning via HTTPS or don't need to push changes back to origin from the web interfaces, you can leave the deploy key field
empty and skip setting one up. Without a deploy key you will need to SSH into the server and use the git CLI to push changes.
[Setting up a deploy key][emergence-git] will enable you to use emergence's (currently minimal) web interface
for commiting/pushing changes.
Visit <kbd>/site-admin/sources</kbd> to initialize the configured git repository. If you switch the remote to an SSH git URL before initializing, a deploy key will be generated for you that you can install on GitHub before continueing to enable web-based read/write access. Otherwise, if you are
cloning via HTTPS, you will need to SSH into the server and use the git CLI to push changes after initializing the repository.

## Step 5: Pull code from git
Visit <kbd>/git/status</kbd> and click **Pull** if needed to pull the latest commits from github into your
git working copy. Then click the **Disk -> VFS** button to import the git working tree copy into your

Visit <kbd>/site-admin/sources/laddr</kbd> and click **Pull** if needed to pull the latest commits from github into your
git working copy. Then click the **Sync** -> **Update emergence VFS** button to import the git working tree copy into your
emergence instance.

[emergence-install]: http://emr.ge/docs/setup/ubuntu/14.04
[emergence-git]: http://emr.ge/docs/git/init
[Git.config.php]: https://github.com/CfABrigadePhiladelphia/laddr/blob/development/php-config/Git.config.php
## Next steps

If you run into any trouble, need to reconfigure the repository, or execute any advanced maneuvers, use `emergence-git-shell my-instance-name laddr` on your host machine to drop into a properly-configured git shell where you can make full use of the git CLI client without any permissions issues.

[emergence-install]: https://emergenceplatform.gitbook.io/emergence-book/server-setup/installation/ubuntu-16.04
[git-config]: https://github.com/CodeForPhilly/laddr/blob/develop/php-config/Git.config.d/laddr.php
2 changes: 1 addition & 1 deletion html-templates/blog/blogPost.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
<h1 class="header-title"><a href="{$Post->getURL()}">{$Post->Title|escape}</a></h1>

<div class="article-meta">
by {personLink $Post->Author photo=yes photoSize=36 pixelRatio=2}
by {personLink $Post->Author photo=yes photoSize=36 pixelRatio=2 summary=no}
on <a href="{$Post->getURL()}">{timestamp $Post->Published}</a>
</div>

Expand Down
1 change: 1 addition & 0 deletions html-templates/designs/site.subtemplates.tpl
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{load_templates subtemplates/personName.tpl}
{load_templates subtemplates/glyphicons.tpl}
{load_templates subtemplates/icon.tpl}
{load_templates subtemplates/timestamp.tpl}
{load_templates subtemplates/people.tpl}
{load_templates subtemplates/contentBlocks.tpl}
Expand Down
Loading