76 Commits

Author SHA1 Message Date
daveoconnor
64e113835f Correct slack activity miscount from fetch_slack_activity (#2056) 2026-01-12 14:46:49 -08:00
daveoconnor
f34458524e Added nix for developer setup (#1379) (#1602)
Tested on brand new machines, made a few minor docs tweaks and adjustments for findings, but generally went well so I'm merging this.
2026-01-05 23:44:10 +00:00
daveoconnor
69a652d066 Release reports refactor (#1996) (#1999)
Co-authored-by: Greg Kaleka <greg@gregkaleka.com>
2025-12-01 10:27:05 -08:00
daveoconnor
8cdb57b08c Customize Profile Pic (#1876) (#1994) 2025-11-04 12:08:20 -08:00
daveoconnor
5f022aca0a Upgrade django to 5.2, python to 3.13 (#1915) 2025-10-22 13:24:26 -07:00
daveoconnor
65fdf7c91a Correct documentation URL issues (#1975) 2025-10-17 13:14:07 -07:00
daveoconnor
cb5c4ab492 Added module flagging from libraries.json (#1900) (#1926) 2025-09-30 14:35:26 -07:00
Dave O'Connor
c6335c2fe2 Updated import commands to allow and default to 'new' functionality. Remove artifactory-related commands. (#1744) 2025-08-27 11:19:03 -04:00
Sam Darwin
0c4efe213d Relocate 'scripts' (#1841) 2025-07-09 08:18:16 -06:00
daveoconnor
301aaeac31 Decouple release reports from releases (#1737) 2025-07-08 16:09:01 -07:00
Greg Kaleka
72112febff Improve performance of processing large docs files (#1799) 2025-05-21 18:43:03 -04:00
sdarwin
d48a2e9800 Improving dev bootstrap scripts on Linux - user id, steps 2025-04-02 09:36:17 -06:00
daveoconnor
1344c85617 Link commit authors to users (#1709, #1711) (#1717) 2025-03-31 11:34:25 -07:00
daveoconnor
da6ee3524e Addtitional Mailing List stats in release report (#1712) 2025-03-26 18:08:20 -07:00
daveoconnor
3e6d8570b9 Added documentation for release report configurations (#1690) 2025-03-19 17:36:02 -07:00
Sam Darwin
95ba9564b3 Scripts to deploy website, via 'git push' (#1689) 2025-03-11 10:11:47 -06:00
daveoconnor
c4e6302360 Financial steering committee page member images (#1613) 2025-01-27 10:18:23 -08:00
daveoconnor
c9f4d36afb Added developer debugging tools (#1479) (#1508) 2025-01-09 10:01:43 -08:00
Brian Perrett
a08c01617a Add management command to run all necessary tasks after a release. (#1562) 2024-12-20 13:01:33 -08:00
Brian Perrett
2981976b80 Add functionality to track LibraryVersion dependencies (#1524) 2024-12-16 14:28:33 -05:00
Greg Kaleka
44829f1556 Add category override mapping and use it in library update method (#1411)
Fixes #1034

- Adds a `CATEGORY_OVERRIDES` mapping
- Uses the override in `update_libraries` management command

### Manual testing
- Ran `./manage.py import_versions`
- Ran `./manage.py update_libraries`
- Static String had the correct category
<img width="440" alt="Screenshot 2024-11-04 at 5 24 05 PM"
src="https://github.com/user-attachments/assets/4b0cf4cb-15e2-4337-9284-7659afd40643">

### Post-deploy tasks
- Ensure `update_libraries` is run
- Verify **Container** category is orphaned
- Delete **Container** category

Co-authored-by: Greg Kaleka <gkaleka@energy-solution.com>
2024-11-05 13:49:00 -05:00
Brian Perrett
646f916ee6 Updates and additions to release report stats (#1401)
- Add basic line change counts for each x.x.0 library versions.
- import line change counts during `import_commits` task.
- Add `update_issues` management command for importing Issues for each
LibraryVersion.
- Add update issues runnable command in `Issue` admin.
- Build word cloud using mailinglist content.
- Update release report with new data.
2024-10-31 10:14:41 -07:00
daveoconnor
58b791eee2 Reduced steps for local development setup for social media auth (#1374) (#1383)
This is related to ticket #1374, and simplifies the steps for local
development environments to have a working login flow for github and
google.

The improvements were configuration for the client id and secret for
google and github via .env vars instead of having to go through setting
up "Social Applications" via the admin interface, and automating the
process for creating google cloud projects in which oauth clients can be
created. Documentation was adjusted to fit.

That was as far as this could be automated given limitations on both
Google Cloud Platform and Github's APIs for creating oauth clients/apps.

The terraform process can be improved if these tickets see some progress
or an API comes about to support this.

Google
https://github.com/hashicorp/terraform-provider-google/issues/16452
https://issuetracker.google.com/issues/116182848

Github
https://github.com/integrations/terraform-provider-github/issues/786
2024-10-30 11:31:34 -07:00
Brian Perrett
fdeb79b8e3 Sync EmailData from hyperkitty. (#1366)
- This work is a prerequisite for #1290 and #1289
- Create an `EmailData` model which holds email counts per
(CommitAuthor, Version).
- Add management command `sync_mailinglist_stats` to query data from the
hyperkitty database and build `EmailData` objects from it
- EmailData.count is calculated between x.x.0 release_dates
- Add button in EmailData admin to trigger task
- Update the `merge_author` method to update EmailData with the Summed
counts per version and delete EmailData which pointed to the
`CommitAuthor` being merged from.
2024-10-21 09:39:09 -07:00
daveoconnor
4c17724f00 Updated login flow to match Figma (#1167, #1128) (#1311)
Includes email for various signup/login related events which we'll need
to ensure there's support for in staging and prod
2024-10-04 10:09:44 -07:00
Brian Perrett
48c09d3d5e Import commits per release and create release reports (#1263)
View stats per release, we do this by
doing log diffs between release tags. Ex: `git log
boost-1.78.0..boost-1.79.0`. The output is parsed and the commits
are saved with a foreign key to the `LibraryVersion` it relates to.

- commits are imported by doing "bare" clones (no project files, only
git data) of repos into temporary directories, as created by python's
bulitin `tempfile.TemporaryDirectory`
- Added Commit model
- Added CommitAuthor model
- Added CommitAuthorEmail model
  - One CommitAuthor can have many emails.
- Added task for importing commits. (and admin link to trigger it)
- Added task for importing CommitAuthor github data (avatar and profile
url, with admin link to trigger it)
- Added a basic Library stat page which can be viewed by going to the
admin -> library -> view stats.
- Added a `Get Release Report` button in the `LibraryAdmin` which allows
a staff member to select a boost version and up to 8 libraries to
generate a report for. The report is just a webpage which attempts to
convert cleanly to a pdf using the browser's print to pdf functionality.
- Updated the Library Detail page to show commits per release instead of
per month.
- Updated the Library Detail page to show `Maintainers & Contributors`
sorted by maintainers, then the top contributors for the selected
release, then the top contributors overall by commits descending.
- Removed CommitData, which was tracking monthly commit stats
2024-09-25 15:09:07 -07:00
Sam Darwin
3233fb22c7 docker-compose bootstrap scripts (#1217)
Closes #1216
2024-08-30 07:13:26 -06:00
Sam Darwin
a1d51bb792 Docs: reviewing local docker-compose steps (#1178)
Testing docker-compose. Here are things I noticed.  

- `styles.css` seemed to be missing in the local docker-compose
environment, even though it's present in the docker image. With
docker-compose a volume is mounted. The volume points to your git
repository where styles.css is now git-ignored.
  
Therefore, I am adding steps in the README to build `styles.css`.
@kennethreitz @rbbeeston , is this incorrect? Should the instructions be
different? What method do you use?

- local development: there had been a note to install Python 3.11. Even
though Django containers are running with Python 3.11, it should be
acceptable for the local OS to have the system default of Python 3.10.
They are not directly interacting. Don't modify the system python.

- To view the Users Guide and Contributors Guide, adding variables to
the env.template (and your .env file)

```
STATIC_CONTENT_AWS_ACCESS_KEY_ID=
STATIC_CONTENT_AWS_SECRET_ACCESS_KEY=
STATIC_CONTENT_BUCKET_NAME=
STATIC_CONTENT_REGION=
STATIC_CONTENT_AWS_S3_ENDPOINT_URL=

```

If anyone uses docker-compose and notices the instructions are
incomplete, please comment and/or contribute fixes to the docs.
2024-08-14 12:49:55 -06:00
Kenneth Reitz
562ad647c1 Limit Celery's Redis connections (#1164)
This change adds a `MAX_CELERY_CONNECTIONS` environment variable, which
defaults to `60`.
2024-07-23 11:40:55 -04:00
sdarwin
9965e3be0a Small docs/ update 2024-07-15 08:19:26 -06:00
Kenneth Reitz
b8df6fc839 Add CI environment variable to set SITE_ID in settings.py 2024-04-03 13:37:56 -04:00
Kenneth Reitz
0a87cf8b9c Update import options in commands.md 2024-04-03 08:38:54 -04:00
Kenneth Reitz
635493ea4a Update environment variable documentation*** 2024-04-02 17:37:06 -04:00
Kenneth Reitz
8fd4f33f62 Refactor management commands***
***Updated command names and added new command for importing beta releases. Replaced `import_artifactory_release_data` with `import_archives_release_data`.***

***Updated documentation for `import_archives_release_data` command.***

***Updated documentation for `import_artifactory_release_data` command to indicate it has been replaced by `import_archives_release_data`.
2024-04-02 17:37:06 -04:00
Lacey Williams Henschel
c9cc3c49b3 Add exception logic to load the Detail docs links
- Add a button to the LibraryVersion admin to reload the docs links
- Add some minimal docs on the admin features
2024-02-05 14:14:55 -08:00
Lacey Williams Henschel
6755f76753 Replace relative image URLs with absolute URLs in static content files
- Add function to replace relative image paths with absolute paths
- Add docs on static content and adding shortcuts to the config file
- Add url and view for rendering static image data
2024-02-02 12:24:19 -08:00
Lacey Williams Henschel
10298f3ceb Add django-auth-toolkit
- Add task to clear expired oauth tokens
- Add setting for oauth app name
- Add docs
2024-01-23 15:23:34 -08:00
Lacey Williams Henschel
0a9e0a2a7f Clear the static content database cache nightly of old files
- Add `created` and `modified` fields to `RenderedContent` models
- Add caching and RenderedContent docs
- Change cache key for library description rendered content
- Add `CLEAR_STATIC_CONTENT_CACHE_DAYS` setting
- Add manager method and task to clear static content cache
- Move task scheduler to main app
- Add daily task to clear rendered content cache
- Use created date and not updated date
2024-01-10 12:23:17 -08:00
Lacey Williams Henschel
330d53426d Fix JFrog Artifactory download link and add docs
- Remove extra slash
- Add setting for the minimum Artifactory version
- Document Artifactory environment variables and download process
- Update tests
2024-01-10 12:14:10 -08:00
Lacey Williams Henschel
8942892a5c Add event caching, add event docs 2024-01-03 14:00:33 -08:00
Lacey Williams Henschel
73ea36b7a8 Pull in calendar data from the Google calendar
- Adds functions to retrieve raw events from the Google Calendar API, extract the data we need for those events, and order those events by month for display
- Documents the new env vars
- Adds new setting for the google calendar API url
- Adds `/calendar/` to URLs, which displays the rendered google calendar **but didn't prettify it**
- Adds events to homepage, using the existing template
- Edits to the homepage template to show the events and make the paging arrows work
2023-12-22 13:58:43 -08:00
Lacey Williams Henschel
5f99e7bbdb Add RSS feed for new Boost releases
- Add get_absolute_url to version model
- Add versions RSS feed
- Fix date method, add Atom feed
- Add link to RSS feed on releases page
- Add docs and reorder links
2023-12-18 12:29:31 -08:00
sdarwin
4415f2ccc6 Website hosting docs 2023-12-07 10:54:29 -07:00
Lacey Williams Henschel
8db6603814 Allow admin users to disallow other users from updating profile pictures.
- Add field can_update_image to User model and user admin
- Prevent user from updating photo if they field is false
- Add docs
2023-11-08 11:23:40 -08:00
Frank Wiles
030b3a882d Add some basic docs info about the News system 2023-11-02 06:15:33 -05:00
Spencer Strickland
dbcc42c73f Dependency for elasticsearch + Updates to docs 2023-10-25 10:58:58 -05:00
Lacey Williams Henschel
4f4e44ae1a Only show beta releases in drop-down selectively
- Add docs on dependency management
- Add manager method for versions in drop-down
- Add model method for getting version parts
- Standardize version names in fixtures
- Change manager method used to get versions for dropdown
- Change where ordering happens
- Fix test
2023-10-18 13:25:28 -07:00
Lacey Williams Henschel
c251ff9671 Import most recent beta release
- Split import version into own task
- Add beta field to Version model
- Add task to import most recent beta version
- Accommodate beta releases in Artifactory downloads
- Fix bug in getting proper download files for beta releases
- Add ability to delete old beta versions when importing new beta version
- Hide release notes link for beta releases
- Comment why we don't get old downloads
- Add management command to get most recent beta release
- Add beta import to boost setup command
- Add docs on beta release import
- Get newest beta release when importing releases
- Add manager method to get most recent beta release
- Skip a couple failing tests after confirming behavior is working as expected
2023-10-13 09:32:16 -07:00
Lacey Henschel
f49bbf739c Add gitmodules to table of contents 2023-10-11 14:47:29 -07:00
Lacey Williams Henschel
73c310fd1c Mark users as claimed when they reset passwords
from key

Mark users as claimed when they reset password from profile page

Add method to claim user, and use that method instead

Add docs on unclaimed user accounts
2023-10-06 08:10:30 -07:00