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

Dynamic publications page #28

Open
crisaless opened this issue Jul 25, 2023 · 7 comments
Open

Dynamic publications page #28

crisaless opened this issue Jul 25, 2023 · 7 comments
Assignees

Comments

@crisaless
Copy link
Contributor

crisaless commented Jul 25, 2023

The publications page should update from the listings of publications from Chaise:

Source in Chaise:
https://dev.rebuildingakidney.org/chaise/recordset/#2/Common:Publication

Instructions are in README.md (see attached ZIP)

This is an example script I was given, which generates the bib file (see attached ZIP):

python3 -m atlas_d2k.cli.publication.export2bib --host dev.rebuildingakidney.org --consortium GUDMAP --from-year 2021 --to-year 2021

Goals:

  • Publish results for consortium = RBK and GUDMAP at /publications/index.html
  • Publish results for consortium = RBK at /rebuildingakidney/publications/index.html
  • Publish results for consortium = GUDMAP at /gudmap/publications/index.html

The format should be similar to what we have currently - groups publications by year and shows by date in descending order.

Also add a tag in the HTML output for each publication at the very end that includes the consortium - much like it shows in recordset here: https://www.atlas-d2k.org/chaise/recordset/#2/Common:Publication.

publications script.zip

@ladukaraniket
Copy link
Collaborator

@crisaless @hongsudt

Following approaches can be taken to achieve this

Python Script followed by a jekyll build

  • The above mentioned python script can be used to generate the bib files for GUDMAP and RBK respectively
  • A jekyll build can be created. This would then generate all the respective static pages and create list of publications sorted by year.

Pros

  • simple and easy to implement
  • We currently do not use paging on the publications page. Adding support for paging would be easier if we decide to do so in future.

Cons

  • Routinely need to create a build to update the publications.
  • The site might not reflect the latest data at all times and updates would depend on the build cycle.

Using JavaScript to dynamically fetch real time data and append the HTML to DOM

  • Data can be queried using HTTPS request and the DOM can then be updated to reflect the latest data.

Pros

  • The site would reflect the latest data at all times.

Cons

  • Implementation is comparatively more time consuming.
  • Implementing paging in future would be trickier.

@hongsudt
Copy link
Contributor

What's the design? Do you plan to have a drop-down that can toggle between different years, or different tabs for different years?

@crisaless
Copy link
Contributor Author

The design should be like it is displayed on https://www.rebuildingakidney.org/publications/ - all publications listed by month/year in descending order, with Headings for each year.

@ladukaraniket
Copy link
Collaborator

Yes, that's how the design would look.
We just need to finalize the approach that needs to be taken.

@crisaless
Copy link
Contributor Author

There's one other approach I want to explore. Instead of building HTML pages to represent the publications, we could just send users to the Chaise listing of publications. Especially since this allows users to filter the list and see any connections to other data.

But I would still want a dynamic method for using JavaScript to dynamically fetch real time data (the second approach listed above) but just to grab the x number of most recent entries for:

  • a) all of atlas (Publications list filtered for RBK and GUDMAP)
  • b) just RBK publications and
  • c) just GUDMAP publications.

I'll be meeting with NIDDK program staff on 9/5 to get clarity on whether they think we should be listing particulars per consortium (ie, news and publications). But at the very least, I will want to be able to list the 4 or 5 most recent entries for all of atlas to appear on the homepage in a list with the following HTML (most recent publication first):

<ul class="posts">
  <li><a href="[DOI]">[Title]</a> <small>([Publication Venue], [Year], [Consortium])</small></li>
  <li><a href="[DOI]">[Title]</a> <small>([Publication Venue], [Year], [Consortium])</small></li>
  <li><a href="[DOI]">[Title]</a> <small>([Publication Venue], [Year], [Consortium])</small></li>
  <li><a href="[DOI]">[Title]</a> <small>([Publication Venue], [Year], [Consortium])</small></li>
</ul>

@crisaless
Copy link
Contributor Author

@hongsudt This last comment is the new "needs" for representing publications. We'll just use Chaise as the destination but I want to be able to display the most recent posts on the jekyll site where needed. Does this need any further discussion before I ask Aniket to implement this?

@hongsudt
Copy link
Contributor

hongsudt commented Sep 15, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants