Skip to content

Commit 3d1a859

Browse files
committed
Synchronized build
1 parent c29ce57 commit 3d1a859

File tree

1 file changed

+40
-282
lines changed

1 file changed

+40
-282
lines changed

programs/project-ideas/index.html

+40-282
Original file line numberDiff line numberDiff line change
@@ -267,41 +267,11 @@ <h1>Open Source Work Programs: Project Ideas</h1>
267267
</div>
268268
<div class="project-ideas columns is-multiline">
269269

270-
<div class="column is-one-quarter filter filter-label difficulty-medium skill-git skill-github-actions skill-python">
271-
<a href="#automating-quantifying-the-commons">
270+
<div class="column is-one-quarter filter filter-label difficulty-medium skill-django skill-git skill-javascript skill-html skill-css skill-lektor">
271+
<a href="#conslidate-implement-vocabulary-design-system-across-websites">
272272
<article class="card entry-post horizontal">
273273
<div class="card-content">
274-
<h5 class="card-title">Automating Quantifying the Commons</h5>
275-
</div>
276-
</article>
277-
</a>
278-
</div>
279-
280-
<div class="column is-one-quarter filter filter-label difficulty-medium skill-ansible skill-debian skill-docker skill-git">
281-
<a href="#ansible-dev-env">
282-
<article class="card entry-post horizontal">
283-
<div class="card-content">
284-
<h5 class="card-title">Create local Ansible Dev environment using Docker</h5>
285-
</div>
286-
</article>
287-
</a>
288-
</div>
289-
290-
<div class="column is-one-quarter filter filter-label difficulty-hard skill-css skill-docker skill-git skill-javascript skill-php skill-wordpress">
291-
<a href="#media-attribution-wp-plugin">
292-
<article class="card entry-post horizontal">
293-
<div class="card-content">
294-
<h5 class="card-title">Create Media Attribution and License Plugin for WordPress</h5>
295-
</div>
296-
</article>
297-
</a>
298-
</div>
299-
300-
<div class="column is-one-quarter filter filter-label difficulty-medium skill-git skill-javascript skill-jekyll skill-html skill-css">
301-
<a href="#modernize-cc-resource-archive">
302-
<article class="card entry-post horizontal">
303-
<div class="card-content">
304-
<h5 class="card-title">Modernize CC Resource Archive</h5>
274+
<h5 class="card-title">Consolidate and implement Vocabulary design system across ancillary</h5>
305275
</div>
306276
</article>
307277
</a>
@@ -322,247 +292,21 @@ <h5 class="card-title">Original Ideas</h5>
322292
<div class="body container">
323293

324294
<div class="project-idea">
325-
<h2><a class="has-color-dark-slate-gray" name="automating-quantifying-the-commons">Automating Quantifying the Commons</a></h2>
326-
<div class="columns">
327-
<div class="column is-one-quarter">
328-
<h5 class="b-header padding-bottom-small">Difficulty</h5>
329-
<p class="padding-bottom-big">Medium</p>
330-
<h5 class="b-header padding-bottom-small">Size</h5>
331-
<p class="padding-bottom-big">Large (~350 hours, ~12 weeks)</p>
332-
<h5 class="b-header padding-bottom-small">Skills recommended</h5>
333-
<ul>
334-
<li>Git</li>
335-
<li>GitHub Actions</li>
336-
<li>Python</li>
337-
</ul>
338-
339-
<h5 class="b-header padding-bottom-small padding-top-big">Project Lead</h5>
340-
<ul>
341-
<li>Timid Robot</li>
342-
</ul>
343-
344-
</div>
345-
<div class="column is-three-quarters">
346-
<h3 class="padding-bottom-big">The Problem</h3>
347-
<p><p>The Quantifying the Commons project has seen excellent additions led by student
348-
developers. However, the scope of previous projects did not include automation
349-
or combined reporting.</p>
350-
</p>
351-
<h3 class="padding-bottom-big padding-top-large">Expected Outcome</h3>
352-
<p><p>Add automation of data gathering and report generation so that our reports
353-
quantifying the commons are never more than 3 months out of date.</p>
354-
</p>
355-
<h3 class="padding-bottom-big padding-top-large">Contributor Tasks</h3>
356-
<p><p>The contributor will need to architect a data flow, formalize data formats,
357-
automate data gathering, and automate reporting. Challenges include quota
358-
limits that may require multi-day/multi-step data gathering, deciding on plain
359-
text vs binary data formats, and secret management. Knowledge of numpy and
360-
matplotlib python libraries will be very helpful.</p>
361-
</p>
362-
<h3 class="padding-bottom-big padding-top-large">Application Tips</h3>
363-
<p><ul>
364-
<li>Engage with the repository (issues, pull requests)</li>
365-
<li>Be helpful and welcoming (e.g. answer other contributors’ questions on Slack)</li>
366-
<li><a href="/programs/applicant-guide/">Applicant Guide</a></li>
367-
</ul>
368-
</p>
369-
<h3 class="padding-bottom-big padding-top-large">Resources</h3>
370-
<p><ul>
371-
<li><a href="https://github.com/creativecommons/quantifying">creativecommons/quantifying</a>:
372-
Quantifying the Commons</li>
373-
<li><a href="https://github.com/creativecommons/quantifying/issues/22">[Feature] Automate Data Gathering and Analysis/Rendering · Issue
374-
#22</a></li>
375-
</ul>
376-
</p>
377-
</div>
378-
</div>
379-
<a href="#project-list" class="back-to-list"><i class="icon angle-up"></i> Back to the Project list</a>
380-
</div>
381-
382-
<div class="project-idea">
383-
<h2><a class="has-color-dark-slate-gray" name="ansible-dev-env">Create local Ansible Dev environment using Docker</a></h2>
295+
<h2><a class="has-color-dark-slate-gray" name="conslidate-implement-vocabulary-design-system-across-websites">Consolidate and implement Vocabulary design system across ancillary</a></h2>
384296
<div class="columns">
385297
<div class="column is-one-quarter">
386298
<h5 class="b-header padding-bottom-small">Difficulty</h5>
387299
<p class="padding-bottom-big">Medium</p>
388300
<h5 class="b-header padding-bottom-small">Size</h5>
389-
<p class="padding-bottom-big">Large (~350 hours, ~12 weeks)</p>
390-
<h5 class="b-header padding-bottom-small">Skills recommended</h5>
391-
<ul>
392-
<li>Ansible</li>
393-
<li>Debian</li>
394-
<li>Docker</li>
395-
<li>Git</li>
396-
</ul>
397-
398-
<h5 class="b-header padding-bottom-small padding-top-big">Project Lead</h5>
399-
<ul>
400-
<li>Shafiya</li>
401-
</ul>
402-
403-
</div>
404-
<div class="column is-three-quarters">
405-
<h3 class="padding-bottom-big">The Problem</h3>
406-
<p><p>The enhancement of system architectures through the strategic transition from
407-
SaltStack to Ansible for provisioning, coupled with the implementation of
408-
Docker infrastructure, represents a significant step towards improved
409-
efficiency and scalability.</p>
410-
</p>
411-
<h3 class="padding-bottom-big padding-top-large">Expected Outcome</h3>
412-
<p><p>The project's goal is to create a strong and local development setup using
413-
Ansible and Docker. This setup will be like a real work environment, with a
414-
special server for security (Bastion), automation with Ansible, a server for
415-
websites, and a server for storing data. This setup will make developing things
416-
easier and safer, and it will be a model for how we do similar projects at CC
417-
in the future.</p>
418-
<p>Docker containers:</p>
419-
<ul>
420-
<li>Bastion (SSH jump server)</li>
421-
<li>Ansible</li>
422-
<li>Web server (Apache2/WordPress)</li>
423-
<li>Database server (MariaDB)</li>
424-
</ul>
425-
</p>
426-
<h3 class="padding-bottom-big padding-top-large">Contributor Tasks</h3>
427-
<p><p>Contributor will:</p>
428-
<ul>
429-
<li>Set up Docker containers for the Bastion server, Ansible server, Web server,
430-
and Database server.</li>
431-
<li>Implement a secure system for managing and using secrets<ul>
432-
<li>Set up a secure storage solution for managing secrets, such as Ansible Vault</li>
433-
<li>It is recommended to inject secrets into containers at runtime as needed,
434-
and not stored within container images.</li>
435-
</ul>
436-
</li>
437-
<li>Configure Ansible playbooks for deploying the web application and interact
438-
with the database.</li>
439-
<li>Document the setup process</li>
440-
</ul>
441-
</p>
442-
<h3 class="padding-bottom-big padding-top-large">Application Tips</h3>
443-
<p><ul>
444-
<li>Engage with the repository (issues, pull requests)</li>
445-
<li>Be helpful and welcoming (e.g. answer other contributors’ questions on Slack)</li>
446-
<li><a href="/programs/applicant-guide/">Applicant Guide</a></li>
447-
</ul>
448-
</p>
449-
<h3 class="padding-bottom-big padding-top-large">Resources</h3>
450-
<p><ul>
451-
<li><a href="https://github.com/creativecommons/ansible-dev">creativecommons/ansible-dev</a> Ansible development environment. </li>
452-
<li><a href="https://docs.ansible.com/">Ansible Documentation</a></li>
453-
<li><a href="https://wiki.debian.org/FrontPage">FrontPage - Debian Wiki</a></li>
454-
<li><a href="https://docs.docker.com/">Docker Docs</a></li>
455-
<li><a href="https://github.com/creativecommons/sre-salt-prime">creativecommons/sre-salt-prime</a>: Site Reliability Engineering / DevOps SaltStack configuration files</li>
456-
</ul>
457-
</p>
458-
</div>
459-
</div>
460-
<a href="#project-list" class="back-to-list"><i class="icon angle-up"></i> Back to the Project list</a>
461-
</div>
462-
463-
<div class="project-idea">
464-
<h2><a class="has-color-dark-slate-gray" name="media-attribution-wp-plugin">Create Media Attribution and License Plugin for WordPress</a></h2>
465-
<div class="columns">
466-
<div class="column is-one-quarter">
467-
<h5 class="b-header padding-bottom-small">Difficulty</h5>
468-
<p class="padding-bottom-big">Hard</p>
469-
<h5 class="b-header padding-bottom-small">Size</h5>
470-
<p class="padding-bottom-big">Large (~350 hours, ~12 weeks)</p>
301+
<p class="padding-bottom-big">Large (~350 hours)</p>
471302
<h5 class="b-header padding-bottom-small">Skills recommended</h5>
472303
<ul>
473304
<li>CSS</li>
474-
<li>Docker</li>
305+
<li>Django</li>
475306
<li>Git</li>
476307
<li>HTML</li>
477308
<li>JavaScript</li>
478-
<li>PHP</li>
479-
<li>WordPress (including Classic Editor, Gutenberg Editor/React.js, Plugins, and
480-
Themes)</li>
481-
</ul>
482-
483-
<h5 class="b-header padding-bottom-small padding-top-big">Project Lead</h5>
484-
<ul>
485-
<li>Sara</li>
486-
</ul>
487-
488-
</div>
489-
<div class="column is-three-quarters">
490-
<h3 class="padding-bottom-big">The Problem</h3>
491-
<p><p>The current existing Creative Commons WordPress plugin has feature drift and
492-
technical debt that make it a challenge to sensibly expand/revise. At the core
493-
of desired uses, this new WordPress plugin needs a reliable and succinct way to
494-
add Attribution and Licensing information to a Media item within the Media
495-
Library at initial upload. This modification/extension of the Media item’s
496-
"meta field information" needs to be stable and clear enough to enable future
497-
expansions in featureset into other areas of the WordPress backend interface.</p>
498-
</p>
499-
<h3 class="padding-bottom-big padding-top-large">Expected Outcome</h3>
500-
<p><p>Building from a strategy of simplistic and necessary structure and
501-
functionality, a new plugin would be created that extends the fields for a
502-
Media item to include License and Attribution information.</p>
503-
</p>
504-
<h3 class="padding-bottom-big padding-top-large">Contributor Tasks</h3>
505-
<p><p>Contributor will follow an approach that is simple to maintain, and possible to
506-
extend in the future. Users can upload items in at least four ways, and ideally
507-
all four would be factored into this plugin:</p>
508-
<ul>
509-
<li>through the Media Library directly</li>
510-
<li>through the TinyMCE editor “Add Media” button when utilizing the Classic
511-
Editor</li>
512-
<li>when adding an image to a “featured image” or similar field in the Classic
513-
Editor</li>
514-
<li>through any Gutenberg editor block that utilizes an image/file attachment
515-
mechanism.</li>
516-
</ul>
517-
<p>Each of these routes should have the ability to input and modify this
518-
additional meta field information about the item. The plugin should utilize
519-
well structured PHP generally. More specifically when solving for Gutenberg
520-
and/or TinyMCE adequate and sensible choices in JavaScript should be utilized.
521-
All code should be well documented, and specific code interacting with the
522-
Classic editor vs. Gutenberg editor contexts should be well compartmentalized.
523-
The Contributor will also set up a custom Docker configuration in accordance
524-
with other WP + Docker setups utilized by CC, specifically for the build and
525-
testing of the plugin.</p>
526-
</p>
527-
<h3 class="padding-bottom-big padding-top-large">Application Tips</h3>
528-
<p><ul>
529-
<li>Engage with the CC Legal Tools repositories (issues, pull requests)</li>
530-
<li>Be helpful and welcoming (e.g. answer other contributors’ questions on Slack)</li>
531-
<li><a href="/programs/applicant-guide/">Applicant Guide</a></li>
532-
</ul>
533-
</p>
534-
<h3 class="padding-bottom-big padding-top-large">Resources</h3>
535-
<p><ul>
536-
<li><a href="https://wiki.creativecommons.org/wiki/Recommended_practices_for_attribution">CC Attribution Guidelines</a></li>
537-
<li><a href="https://creativecommons.org/share-your-work/cclicenses/">CC Licenses</a></li>
538-
<li><a href="https://codex.wordpress.org/TinyMCE">Classic Editor + TinyMCE</a></li>
539-
<li><a href="https://www.docker.com/">Docker</a></li>
540-
<li><a href="https://github.com/creativecommons/vocabulary-theme?tab=readme-ov-file#docker-containers">Docker in vocabulary-theme</a></li>
541-
<li><a href="https://developer.wordpress.org/block-editor/explanations/architecture/key-concepts/">Gutenberg</a></li>
542-
<li><a href="https://developer.wordpress.org/plugins/intro/">WordPress Plugin Development</a></li>
543-
<li><a href="https://codex.wordpress.org/Theme_Development">WordPress Theme Development</a></li>
544-
</ul>
545-
</p>
546-
</div>
547-
</div>
548-
<a href="#project-list" class="back-to-list"><i class="icon angle-up"></i> Back to the Project list</a>
549-
</div>
550-
551-
<div class="project-idea">
552-
<h2><a class="has-color-dark-slate-gray" name="modernize-cc-resource-archive">Modernize CC Resource Archive</a></h2>
553-
<div class="columns">
554-
<div class="column is-one-quarter">
555-
<h5 class="b-header padding-bottom-small">Difficulty</h5>
556-
<p class="padding-bottom-big">Medium</p>
557-
<h5 class="b-header padding-bottom-small">Size</h5>
558-
<p class="padding-bottom-big">Large (~350 hours, ~12 weeks)</p>
559-
<h5 class="b-header padding-bottom-small">Skills recommended</h5>
560-
<ul>
561-
<li>Git</li>
562-
<li>JavaScript</li>
563-
<li>Jekyll</li>
564-
<li>HTML (Semantic &amp; Accessible)</li>
565-
<li>CSS (Structured &amp; Accessible)</li>
309+
<li>Lektor</li>
566310
</ul>
567311

568312
<h5 class="b-header padding-bottom-small padding-top-big">Project Lead</h5>
@@ -573,38 +317,52 @@ <h5 class="b-header padding-bottom-small padding-top-big">Project Lead</h5>
573317
</div>
574318
<div class="column is-three-quarters">
575319
<h3 class="padding-bottom-big">The Problem</h3>
576-
<p><p>The Resources Archive has an outdated visual setup, and needs functionality
577-
fixes and improvements.</p>
320+
<p><p>The new design system, Vocabulary, has been implemented to varying degrees
321+
across several Creative Commons web entities, versioning and features do not
322+
have full parity and each implementation merits a further investigation,
323+
course correction, expansion, and cleanup.</p>
578324
</p>
579325
<h3 class="padding-bottom-big padding-top-large">Expected Outcome</h3>
580-
<p><p>Upgrade the look and feel to match current CC aesthetics, using the internal
581-
Design System (Vocabulary). Codebase is running current and standards compliant
582-
technology implementations. Entire site builds as static files on GitHub Pages.
583-
Generate clear documentation of codebase and functionality.</p>
326+
<p><p>Ancillary CC websites implement the current versions and features of the latest
327+
Vocabulary codebase in a consistent and stable manner. Necessary new features
328+
are identified, built, and implemented upstream into Vocabulary itself where
329+
relevant, localized features are implemented into the codebase of each project
330+
where necessary.</p>
584331
</p>
585332
<h3 class="padding-bottom-big padding-top-large">Contributor Tasks</h3>
586-
<p><p>Contributor will refactor codebase to fix resource submission, use current
587-
semantic, accessible, and standards compliant HTML, CSS, and JavaScript to
588-
match the current visual aesthetic of Creative Commons sites. Improve the
589-
overall UX for finding, submitting, and accessing resources. Ensure the site
590-
functions as a static and stable site hosted on GitHub Pages. Final
591-
implementation will have clear documentation drafted within the codebase for
592-
future maintainability.</p>
333+
<p><p>Identify and catalog features present on current sites, but missing within
334+
Vocabulary. Document migration paths between conflicting or missing UX patterns.
335+
Rewrite and/or refactor the codebase of each ancillary site, maintaining its
336+
original function, while implementing the Vocabulary design system; migrating
337+
implementations from NPM dependency chains to more simplistic static code, where
338+
needed; building out new features as necessary locally or within the Vocabulary
339+
codebase itself. Using simple, standards-compliant, and accessible HTML, CSS,
340+
and minimal JavaScript.</p>
593341
</p>
594342
<h3 class="padding-bottom-big padding-top-large">Application Tips</h3>
595343
<p><ul>
596-
<li>Engage with the repository (issues, pull requests)</li>
344+
<li>Engage with the ancillary sites and Vocabulary repositories (issues, pull requests)</li>
597345
<li>Be helpful and welcoming (e.g. answer other contributors’ questions on Slack)</li>
598346
<li><a href="/programs/applicant-guide/">Applicant Guide</a></li>
599347
</ul>
600348
</p>
601349
<h3 class="padding-bottom-big padding-top-large">Resources</h3>
602350
<p><ul>
603-
<li><a href="https://github.com/creativecommons/cc-resource-archive">creativecommons/cc-resource-archive</a>:
604-
CC Resource Archive</li>
605-
<li><a href="https://jekyllrb.com/">Jekyll</a>, <a href="https://www.getlektor.com/">Lektor</a>, or
606-
<a href="https://getnikola.com/">Nikola</a></li>
607-
<li><a href="https://pages.github.com/">GH Pages</a></li>
351+
<li><a href="https://vocabulary-docs.netlify.app/">Vocabulary Docs</a></li>
352+
<li><a href="https://github.com/creativecommons/vocabulary">Vocabulary Repository</a></li>
353+
<li><a href="http://search.creativecommons.org">search.creativecommons.org</a></li>
354+
<li><a href="https://github.com/creativecommons/search">Search Portal Repository</a></li>
355+
<li><a href="http://resources.creativecommons.org">resources.creativecommons.org</a></li>
356+
<li><a href="https://github.com/creativecommons/cc-resource-archive">Resources Archive Repository</a></li>
357+
<li><a href="http://opensource.creativecommons.org">opensource.creativecommons.org</a></li>
358+
<li><a href="https://github.com/creativecommons/creativecommons.github.io-source">Open Source Repository</a></li>
359+
<li><a href="http://legaldb.creativecommons.org">legaldb.creativecommons.org</a></li>
360+
<li><a href="https://github.com/creativecommons/legaldb">LegalDB Repository</a></li>
361+
<li><a href="https://developer.mozilla.org/en-US/docs/Glossary/Semantics">MDN Web Docs: Semantics</a></li>
362+
<li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML">MDN Web Docs: HTML</a></li>
363+
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">MDN Web Docs: JavaScript</a></li>
364+
<li><a href="https://docs.djangoproject.com/en/5.1/">Django Docs</a></li>
365+
<li><a href="https://www.getlektor.com/docs/">Lektor Docs</a></li>
608366
</ul>
609367
</p>
610368
</div>

0 commit comments

Comments
 (0)