Fossil SCM
Made a more general list of projects and tasks. There will be a GSoC next year, but this has value meantime.
Commit
47b1f6ad5433b24e82c887f01839b405afc6628714730f24fc78b0aae433af70
Parent
c00e5d60a086805…
1 file changed
+37
-26
+37
-26
| --- www/gsoc-ideas.md | ||
| +++ www/gsoc-ideas.md | ||
| @@ -1,27 +1,49 @@ | ||
| 1 | -# Project Ideas for Google Summer of Code 2021 | |
| 2 | - | |
| 3 | -This list was made for the Fossil project's application for [Google Summer of | |
| 4 | -Code](https://summerofcode.withgoogle.com/) in 2021. GSoC pays students to | |
| 5 | -contribute to free software projects during the Northern Hemiphere summer. If | |
| 6 | -you are a student, you will be able to apply for GSoC starting March 29th 2021. | |
| 7 | - | |
| 8 | -This page applies to the two implementations of Fossil: [the classic Fossil](https://fossil-scm.org) | |
| 9 | -and [libfossil](https://fossil.wanderinghorse.net/r/libfossil). The two implementations | |
| 10 | -have an identical implementation of the Fossil data model, are 100% compatible in terms of | |
| 11 | -data access since they use the same SQL, and are 100% binary compatible in terms of on-disk storage. | |
| 12 | - | |
| 13 | -# General Features | |
| 1 | +# List of Projects and Tasks | |
| 2 | + | |
| 3 | +This list was made for the Fossil project's application for [Google Summer of Code](https://summerofcode.withgoogle.com/) in 2021. That application was | |
| 4 | +unsuccessful, but still this list is a useful starting point for anyone looking | |
| 5 | +for a place to start. We welcome newcomers, and provided you can follow the simple | |
| 6 | +[procedures for contributing to Fossil](https://fossil-scm.org/home/doc/trunk/www/contribute.wiki) then | |
| 7 | +you might be interested in the following. | |
| 8 | + | |
| 9 | +There are two implementations of the Fossil data model: | |
| 10 | + | |
| 11 | +* [the classic Fossil project](https://fossil-scm.org) , which is where this file is maintained and | |
| 12 | + which is as of 2021 how everyone interacts with Fossil objects | |
| 13 | +* [libfossil](https://fossil.wanderinghorse.net/r/libfossil), which is an independent project to manipulate Fossil objects from a library, or using commandline tools which are thin wrappers to the library | |
| 14 | + | |
| 15 | +As of 2021 the two implementations have an identical implementation of the | |
| 16 | +Fossil data model, are 100% compatible in terms of data access since they use | |
| 17 | +the same SQL, and are 100% binary compatible in terms of on-disk storage. | |
| 18 | + | |
| 19 | +The projects listed here are grouped by functionality - User Interface, Integration, Email, | |
| 20 | +etc. If you are looking for something easy to start with, then depending where | |
| 21 | +your interests lie, there are some small libfossil tasks and small | |
| 22 | +features to work on in the UI. | |
| 23 | + | |
| 24 | +# UI, Look and Feel | |
| 25 | + | |
| 26 | +Tasks for those interested in graphic/web design: | |
| 14 | 27 | |
| 15 | 28 | * Improve the documentation history-browsing page to enable selection of 2 arbitrary versions to diff, similar to the [Mediawiki history feature enabled on Wikipedia](https://en.wikipedia.org/w/index.php?title=Fossil_(software)&action=history) |
| 16 | 29 | * Allow diffing of Forum posts |
| 17 | -* Develop a test suite for the draft JSON API in libfossil. This JSON API is a way of integrating many kinds of systems with Fossil | |
| 18 | -* Re-implement the draft JSON API in libfossil to use the JSON capability in SQLite, now that SQLite has JSON. This is a large project and would start with feasibility analysis | |
| 30 | +* General touch-ups in the existing skins. This may, depending on how deep one | |
| 31 | + cares to dig, require digging into C code to find, and potentially modify, how | |
| 32 | + the HTML is generated. | |
| 33 | +* Creation of one or more new skins. This does not specifically require any C | |
| 34 | + know-how. | |
| 35 | +* Complete per-feature CSS facilities in [the Inskinerator](https://tangentsoft.com/inskinerator/dir) and add features to the Inskinerator | |
| 36 | + | |
| 37 | +# Projects Relating to Fossil Integration | |
| 38 | + | |
| 19 | 39 | * Fossil hooks for pipelines with CI/CD such as static analysis, Buildbot, Gerrit, Travis and Jenkins are not well-documented and may need some further development. Make this work better, with configuration examples |
| 20 | 40 | * Create a [Pandoc](https://pandoc.org) filter that handles Fossil-style Markdown |
| 21 | 41 | * Create a [Pandoc filter that handles Pikchr](https://groups.google.com/g/pandoc-discuss/c/zZSspnHHsg0?pli=1) (Pikchr can be used with many kinds of layout, not just Markdown) |
| 22 | 42 | * Editor integration: [improve the Fossil VSCode plugin](https://marketplace.visualstudio.com/items?itemName=koog1000.fossil) or [create a Fossil plugin for Eclipse](https://marketplace.eclipse.org/taxonomy/term/26%2C31) |
| 43 | +* Develop a test suite for the draft JSON API in libfossil. This JSON API is a way of integrating many kinds of systems with Fossil | |
| 44 | +* Re-implement the draft JSON API in libfossil to use the JSON capability in SQLite, now that SQLite has JSON. This is a large project and would start with feasibility analysis | |
| 23 | 45 | |
| 24 | 46 | # Adding Inbound (Receiving) Email to Fossil |
| 25 | 47 | |
| 26 | 48 | This task involves designing a new feature and working with Fossil developers to |
| 27 | 49 | see how it can be feasible in practice. |
| @@ -85,21 +107,10 @@ | ||
| 85 | 107 | * Alternatively, instead of improving Fossil's cli, implement a comprehensive ticket commandline with [libfossil's primitives](https://fossil.wanderinghorse.net/r/libfossil/wiki/home), look under the f-apps/ directory. |
| 86 | 108 | * Improving the Fossil web UI for ticketing, which is clunky to say the least. Fossil tries not be a heavy user of Javascript and Javascript libraries, but the wikiedit, chat and Forum code are all more advanced than ticketing, |
| 87 | 109 | and have UI features that would improve ticketing |
| 88 | 110 | * If there is an inbound email system as per the previous section "Adding Inbound (Receiving) Email to Fossil", then implement this system for ticketing |
| 89 | 111 | |
| 90 | -# Look and Feel | |
| 91 | - | |
| 92 | -Tasks for those interested in graphic/web design: | |
| 93 | - | |
| 94 | -* General touch-ups in the existing skins. This may, depending on how deep one | |
| 95 | - cares to dig, require digging into C code to find, and potentially modify, how | |
| 96 | - the HTML is generated. | |
| 97 | -* Creation of one or more new skins. This does not specifically require any C | |
| 98 | - know-how. | |
| 99 | -* Complete per-feature CSS facilities in [the Inskinerator](https://tangentsoft.com/inskinerator/dir) and add features to the Inskinerator | |
| 100 | - | |
| 101 | 112 | # Tasks Requiring Fossil Data Model Knowledge |
| 102 | 113 | |
| 103 | 114 | The Fossil data model concepts are simple, but the implications are quite subtle and impressive. The data model |
| 104 | 115 | is designed to [endure for centuries](./fileformat.wiki), |
| 105 | 116 | be [easily accessible](./fossil-v-git.wiki#durable), and is [non-relational](./fossil-is-not-relational.md). |
| 106 | 117 |
| --- www/gsoc-ideas.md | |
| +++ www/gsoc-ideas.md | |
| @@ -1,27 +1,49 @@ | |
| 1 | # Project Ideas for Google Summer of Code 2021 |
| 2 | |
| 3 | This list was made for the Fossil project's application for [Google Summer of |
| 4 | Code](https://summerofcode.withgoogle.com/) in 2021. GSoC pays students to |
| 5 | contribute to free software projects during the Northern Hemiphere summer. If |
| 6 | you are a student, you will be able to apply for GSoC starting March 29th 2021. |
| 7 | |
| 8 | This page applies to the two implementations of Fossil: [the classic Fossil](https://fossil-scm.org) |
| 9 | and [libfossil](https://fossil.wanderinghorse.net/r/libfossil). The two implementations |
| 10 | have an identical implementation of the Fossil data model, are 100% compatible in terms of |
| 11 | data access since they use the same SQL, and are 100% binary compatible in terms of on-disk storage. |
| 12 | |
| 13 | # General Features |
| 14 | |
| 15 | * Improve the documentation history-browsing page to enable selection of 2 arbitrary versions to diff, similar to the [Mediawiki history feature enabled on Wikipedia](https://en.wikipedia.org/w/index.php?title=Fossil_(software)&action=history) |
| 16 | * Allow diffing of Forum posts |
| 17 | * Develop a test suite for the draft JSON API in libfossil. This JSON API is a way of integrating many kinds of systems with Fossil |
| 18 | * Re-implement the draft JSON API in libfossil to use the JSON capability in SQLite, now that SQLite has JSON. This is a large project and would start with feasibility analysis |
| 19 | * Fossil hooks for pipelines with CI/CD such as static analysis, Buildbot, Gerrit, Travis and Jenkins are not well-documented and may need some further development. Make this work better, with configuration examples |
| 20 | * Create a [Pandoc](https://pandoc.org) filter that handles Fossil-style Markdown |
| 21 | * Create a [Pandoc filter that handles Pikchr](https://groups.google.com/g/pandoc-discuss/c/zZSspnHHsg0?pli=1) (Pikchr can be used with many kinds of layout, not just Markdown) |
| 22 | * Editor integration: [improve the Fossil VSCode plugin](https://marketplace.visualstudio.com/items?itemName=koog1000.fossil) or [create a Fossil plugin for Eclipse](https://marketplace.eclipse.org/taxonomy/term/26%2C31) |
| 23 | |
| 24 | # Adding Inbound (Receiving) Email to Fossil |
| 25 | |
| 26 | This task involves designing a new feature and working with Fossil developers to |
| 27 | see how it can be feasible in practice. |
| @@ -85,21 +107,10 @@ | |
| 85 | * Alternatively, instead of improving Fossil's cli, implement a comprehensive ticket commandline with [libfossil's primitives](https://fossil.wanderinghorse.net/r/libfossil/wiki/home), look under the f-apps/ directory. |
| 86 | * Improving the Fossil web UI for ticketing, which is clunky to say the least. Fossil tries not be a heavy user of Javascript and Javascript libraries, but the wikiedit, chat and Forum code are all more advanced than ticketing, |
| 87 | and have UI features that would improve ticketing |
| 88 | * If there is an inbound email system as per the previous section "Adding Inbound (Receiving) Email to Fossil", then implement this system for ticketing |
| 89 | |
| 90 | # Look and Feel |
| 91 | |
| 92 | Tasks for those interested in graphic/web design: |
| 93 | |
| 94 | * General touch-ups in the existing skins. This may, depending on how deep one |
| 95 | cares to dig, require digging into C code to find, and potentially modify, how |
| 96 | the HTML is generated. |
| 97 | * Creation of one or more new skins. This does not specifically require any C |
| 98 | know-how. |
| 99 | * Complete per-feature CSS facilities in [the Inskinerator](https://tangentsoft.com/inskinerator/dir) and add features to the Inskinerator |
| 100 | |
| 101 | # Tasks Requiring Fossil Data Model Knowledge |
| 102 | |
| 103 | The Fossil data model concepts are simple, but the implications are quite subtle and impressive. The data model |
| 104 | is designed to [endure for centuries](./fileformat.wiki), |
| 105 | be [easily accessible](./fossil-v-git.wiki#durable), and is [non-relational](./fossil-is-not-relational.md). |
| 106 |
| --- www/gsoc-ideas.md | |
| +++ www/gsoc-ideas.md | |
| @@ -1,27 +1,49 @@ | |
| 1 | # List of Projects and Tasks |
| 2 | |
| 3 | This list was made for the Fossil project's application for [Google Summer of Code](https://summerofcode.withgoogle.com/) in 2021. That application was |
| 4 | unsuccessful, but still this list is a useful starting point for anyone looking |
| 5 | for a place to start. We welcome newcomers, and provided you can follow the simple |
| 6 | [procedures for contributing to Fossil](https://fossil-scm.org/home/doc/trunk/www/contribute.wiki) then |
| 7 | you might be interested in the following. |
| 8 | |
| 9 | There are two implementations of the Fossil data model: |
| 10 | |
| 11 | * [the classic Fossil project](https://fossil-scm.org) , which is where this file is maintained and |
| 12 | which is as of 2021 how everyone interacts with Fossil objects |
| 13 | * [libfossil](https://fossil.wanderinghorse.net/r/libfossil), which is an independent project to manipulate Fossil objects from a library, or using commandline tools which are thin wrappers to the library |
| 14 | |
| 15 | As of 2021 the two implementations have an identical implementation of the |
| 16 | Fossil data model, are 100% compatible in terms of data access since they use |
| 17 | the same SQL, and are 100% binary compatible in terms of on-disk storage. |
| 18 | |
| 19 | The projects listed here are grouped by functionality - User Interface, Integration, Email, |
| 20 | etc. If you are looking for something easy to start with, then depending where |
| 21 | your interests lie, there are some small libfossil tasks and small |
| 22 | features to work on in the UI. |
| 23 | |
| 24 | # UI, Look and Feel |
| 25 | |
| 26 | Tasks for those interested in graphic/web design: |
| 27 | |
| 28 | * Improve the documentation history-browsing page to enable selection of 2 arbitrary versions to diff, similar to the [Mediawiki history feature enabled on Wikipedia](https://en.wikipedia.org/w/index.php?title=Fossil_(software)&action=history) |
| 29 | * Allow diffing of Forum posts |
| 30 | * General touch-ups in the existing skins. This may, depending on how deep one |
| 31 | cares to dig, require digging into C code to find, and potentially modify, how |
| 32 | the HTML is generated. |
| 33 | * Creation of one or more new skins. This does not specifically require any C |
| 34 | know-how. |
| 35 | * Complete per-feature CSS facilities in [the Inskinerator](https://tangentsoft.com/inskinerator/dir) and add features to the Inskinerator |
| 36 | |
| 37 | # Projects Relating to Fossil Integration |
| 38 | |
| 39 | * Fossil hooks for pipelines with CI/CD such as static analysis, Buildbot, Gerrit, Travis and Jenkins are not well-documented and may need some further development. Make this work better, with configuration examples |
| 40 | * Create a [Pandoc](https://pandoc.org) filter that handles Fossil-style Markdown |
| 41 | * Create a [Pandoc filter that handles Pikchr](https://groups.google.com/g/pandoc-discuss/c/zZSspnHHsg0?pli=1) (Pikchr can be used with many kinds of layout, not just Markdown) |
| 42 | * Editor integration: [improve the Fossil VSCode plugin](https://marketplace.visualstudio.com/items?itemName=koog1000.fossil) or [create a Fossil plugin for Eclipse](https://marketplace.eclipse.org/taxonomy/term/26%2C31) |
| 43 | * Develop a test suite for the draft JSON API in libfossil. This JSON API is a way of integrating many kinds of systems with Fossil |
| 44 | * Re-implement the draft JSON API in libfossil to use the JSON capability in SQLite, now that SQLite has JSON. This is a large project and would start with feasibility analysis |
| 45 | |
| 46 | # Adding Inbound (Receiving) Email to Fossil |
| 47 | |
| 48 | This task involves designing a new feature and working with Fossil developers to |
| 49 | see how it can be feasible in practice. |
| @@ -85,21 +107,10 @@ | |
| 107 | * Alternatively, instead of improving Fossil's cli, implement a comprehensive ticket commandline with [libfossil's primitives](https://fossil.wanderinghorse.net/r/libfossil/wiki/home), look under the f-apps/ directory. |
| 108 | * Improving the Fossil web UI for ticketing, which is clunky to say the least. Fossil tries not be a heavy user of Javascript and Javascript libraries, but the wikiedit, chat and Forum code are all more advanced than ticketing, |
| 109 | and have UI features that would improve ticketing |
| 110 | * If there is an inbound email system as per the previous section "Adding Inbound (Receiving) Email to Fossil", then implement this system for ticketing |
| 111 | |
| 112 | # Tasks Requiring Fossil Data Model Knowledge |
| 113 | |
| 114 | The Fossil data model concepts are simple, but the implications are quite subtle and impressive. The data model |
| 115 | is designed to [endure for centuries](./fileformat.wiki), |
| 116 | be [easily accessible](./fossil-v-git.wiki#durable), and is [non-relational](./fossil-is-not-relational.md). |
| 117 |