Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into allowReordering
Browse files Browse the repository at this point in the history
* upstream/master:
  Refine teaching explanation
  % include doesn't work on GitBook.io. Thus, add explicit text
  Bump unirest-java from 3.6.01 to 3.7.00 (#6166)
  Bump pdfbox from 2.0.18 to 2.0.19 (#6163)
  Bump xmpbox from 2.0.18 to 2.0.19 (#6164)
  Bump junit-vintage-engine from 5.6.0 to 5.6.1 (#6162)
  Bump mariadb-java-client from 2.5.4 to 2.6.0 (#6160)
  Bump fontbox from 2.0.18 to 2.0.19 (#6167)
  Bump junit-jupiter from 5.6.0 to 5.6.1 (#6159)
  Bump junit-platform-launcher from 1.6.0 to 1.6.1 (#6168)
  Add link to teaching page
  Refine teaching information
  Replace donation link to directly point to PayPal
  • Loading branch information
Siedlerchr committed Mar 23, 2020
2 parents 18800b9 + 08b572d commit daeec26
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 13 deletions.
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

After reading through this guide, check out some good first issues to contribute to by clicking here: [Good First Issues](https://github.com/JabRef/jabref/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)

In case you are an instructor and want to use JabRef as software engineering example, please head to <https://devdocs.jabref.org/teaching>.

## Understanding the basics

We welcome contributions to JabRef and encourage you to follow the GitHub workflow specified below. If you are not familiar with this type of workflow, take a look at GitHub's excellent overview on the [GitHub flow](https://guides.github.com/introduction/flow/index.html) and the explanation of [Feature Branch Workflow](https://atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) for the idea behind this kind of development.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Deployment Status](https://github.com/JabRef/jabref/workflows/Deployment/badge.svg)](https://github.com/JabRef/jabref/actions?query=workflow%3ADeployment)
[![Build Status](https://github.com/JabRef/jabref/workflows/Tests/badge.svg)](https://github.com/JabRef/jabref/actions?query=workflow%3ATests)
[![codecov.io](https://codecov.io/github/JabRef/jabref/coverage.svg?branch=master)](https://codecov.io/github/JabRef/jabref?branch=master)
[![Donation](https://img.shields.io/badge/donate%20to-jabref-orange.svg)](https://donations.jabref.org)
[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal&style=flat-square)](https://paypal.me/JabRef)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/jabref/localized.svg)](https://crowdin.com/project/jabref)

JabRef is an open-source, cross-platform citation and reference management tool.
Expand Down
16 changes: 8 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ dependencies {
// Include all jar-files in the 'lib' folder as dependencies
implementation fileTree(dir: 'lib', includes: ['*.jar'])

implementation 'org.apache.pdfbox:pdfbox:2.0.18'
implementation 'org.apache.pdfbox:fontbox:2.0.18'
implementation 'org.apache.pdfbox:xmpbox:2.0.18'
implementation 'org.apache.pdfbox:pdfbox:2.0.19'
implementation 'org.apache.pdfbox:fontbox:2.0.19'
implementation 'org.apache.pdfbox:xmpbox:2.0.19'

implementation group: 'org.apache.commons', name: 'commons-csv', version: '1.8'

Expand Down Expand Up @@ -141,7 +141,7 @@ dependencies {
antlr4 'org.antlr:antlr4:4.8-1'
implementation 'org.antlr:antlr4-runtime:4.8-1'

implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.5.4'
implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.6.0'

implementation 'org.postgresql:postgresql:42.2.11'

Expand Down Expand Up @@ -170,7 +170,7 @@ dependencies {
implementation 'org.controlsfx:controlsfx:11.0.1'

implementation 'org.jsoup:jsoup:1.13.1'
implementation 'com.konghq:unirest-java:3.6.01'
implementation 'com.konghq:unirest-java:3.7.00'

implementation 'org.slf4j:slf4j-api:2.0.0-alpha1'
implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: '3.0.0-SNAPSHOT'
Expand All @@ -197,9 +197,9 @@ dependencies {


testImplementation 'io.github.classgraph:classgraph:4.8.65'
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.0'
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.0'
testImplementation 'org.junit.platform:junit-platform-launcher:1.6.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.1'
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.1'
testImplementation 'org.junit.platform:junit-platform-launcher:1.6.1'

testImplementation 'net.bytebuddy:byte-buddy-parent:1.10.8'
testRuntime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '3.0.0-SNAPSHOT'
Expand Down
17 changes: 16 additions & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
{% include "git+https://github.com/JabRef/jabref.git/CONTRIBUTING.md#master" %}
# Contributing

See [JabRef's contribution guide](https://github.com/JabRef/jabref/blob/master/CONTRIBUTING.md#contributing-guide) for a howto to contribute code.

In case you aim for contributing user documentation, head to the [JabRef user documetnation repository](https://github.com/JabRef/user-documentation).

For improving developer's documentation, go on at the [docs/ subdirectory of JabRef's code](https://github.com/JabRef/jabref/tree/master/docs) and edit the file.
GitHub offers a good guide at [Editing files in another user's repository](https://help.github.com/en/github/managing-files-in-a-repository/editing-files-in-another-users-repository).

In case you use some gitbook special features and you want to test them, checkout JabRef's code locally, and execute following steps:

1. `npm install -g gitbook`
2. `cd docs`
3. `gitbook serve`

Then, you can see a near-to-reality rendering of the development documentation at <http://localhost:4000>.
16 changes: 13 additions & 3 deletions docs/teaching.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

JabRef can be used as training object for software engineering.

As instructor, please follow following check list:
As instructor, please follow this check list:

1. Be aware that JabRef is run by volunteers. This implies that the development team cannot ensure to provide feedback on code within hours.
2. Be aware that from the first pull request to the final acceptance the typical time needed is two weeks.
3. Be aware that JabRef tries to achieve high code quality. This leads to code reviews requiring actions from the contributors. This also applies for code of students. Read on at our [Development Strategy](development-strategy.md) for more details.
4. Choose tasks from one of the folowing boards. Write a comment to each issue so that it can be reserved to your course.

- Feature Board: <https://github.com/JabRef/jabref/projects/7>
- Bug Board: <https://github.com/JabRef/jabref/projects/5>

5. Be aware that the difficuly of bugs and feature vary. A task should be chosen with care. The JabRef team can help here: The majority of the team has experiences in teaching
6. Get in touch with the JabRef team to discuss details. We offer email, skype, [gitter.im](https://gitter.im/JabRef/jabref), discort. Get in touch with [@koppor](https://github.com/koppor/) to find the right channel and to start forming the success of your course.

For a near-to-perfect preparation and effect of the course, we ask you to get in touch with us **four weeks** in advance. Then, the JabRef team can a) learn about the starting skill level of the students, b) the aimed skill level at the end of the course, c) the amount of time the students are given to learn about and contribute to JabRef, d) check the [feature board](https://github.com/JabRef/jabref/projects/7) for appropriate tasks (and fill it as needed), e) recommend appropriate features.

It is also possible to just direct students to our [Contribution Guide](https://github.com/JabRef/jabref/blob/master/CONTRIBUTING.md#contributing-guide). The learning effect may be lower as time of the students has to be spend to a) learn about JabRef and b) select an appropriate issue.

Since a huge fraction of software costs is spend on [software maintenance](https://en.wikipedia.org/wiki/Software_maintenance), adding new features also educates in that aspect: perfective maintenance<sup id="a1">[1](#LientzSwanson)</sup> is trained. When fixing bugs, corrective maintenance<sup>[1](#LientzSwanson)</sup> is trained.

## Process for contributions

There is no special process for student contributions. We want to discuss it nevertheless to increase awareness of the time required from starting the contribution until the inclusion in a release of JabRef.
Expand Down Expand Up @@ -73,3 +77,9 @@ This will help to reduce the load on the JabRef team and improve the quality of

- Course [DD2480 Software Engineering Fundamentals](https://www.kth.se/student/kurser/kurs/DD2480?l=en)
- Summary: Groups of students from three to five persons experienced the whole software engineering process within a week: From the requirements specification to the final pull request.

## References

<a id="LientzSwanson" href="#a1">1</a>: Lientz B., Swanson E., 1980: Software Maintenance Management. Addison Wesley, Reading, MA.

<!-- markdownlint-disable-file MD033 -->

0 comments on commit daeec26

Please sign in to comment.