meonkeys commented on PR #5388:
URL: https://github.com/apache/fineract/pull/5388#issuecomment-3801363597

   I do want FINERACT-2171 implemented and I'm happy to see work being done on 
it. I would like to offer some suggestions on the implementation. For example, 
I'd like it kept separate from the main Fineract source code.
   
   My first thought is that if ASF or someone can do this for us, that would be 
ideal. [I asked for help in 
#asfinfra](https://the-asf.slack.com/archives/CBX4TSBQ8/p1769453086902669):
   
   > [we'd like to capture and archive messages from Fineract's main (public) 
chat room](https://issues.apache.org/jira/browse/FINERACT-2171). Is there 
somewhere on an ASF server we could host this content? There's a lot of good 
conversation in our chat room that would be nice to get indexed by search 
engines. Currently we just manually copy/paste important conversations to [our 
main mailing 
list](https://lists.apache.org/[email protected]), but I think 
we can automate message capture with a bot by, e.g., slurping messages and 
generating static HTML. It could also save media (e.g. images) if that's 
acceptable, but maybe we just save text at first. I'm thinking we'd have like 
10KiB/day of static HTML created. If we did also save media, we could limit the 
total saved to, say, 1MB/day or so.
   
   They don't do that, but they had a couple suggestions:
   
   1. (fluxo) _seems like you could commit them to a git repo, or host them on 
your project website. we don't offer another solution for web hosting_
   1. (Humbedooh) or maybe automate sending it to a list every day?
   
   Here are my ideas. Feedback welcome!
   
   1. The goal is to make our public chat messages to `#fineract` easily 
index-able by search engines. I think the tool should archive messages into 
source for a Jekyll static site, commit it to a git repo, and let [GitHub 
Pages](https://docs.github.com/en/pages) render and serve the content.
   1. Is there an extant Slack chat archiver bot/tool out there we can just use 
as-is?
   1. Let's use a new git repo for this. I created 
https://github.com/apache/fineract-chat-archive .
   1. Stick with the Gradle build tool since our community is already familiar 
with that (but I'm open to another framework/stack here, it doesn't have to be 
a Java-ish project).
   1. Use Groovy or Java for the main implementation language, but maybe pull 
the code out of the Gradle build file? (again, I'm fine with another 
framework/stack, maybe choose that based on which one has everything we need 
out of the box and will be easiest to maintain)
   1. Support running this locally, e.g. `gradle updateChatArchive`.
   1. Create a very simple GitHub Action that just runs the same thing we'd run 
locally.
   1. Main build target is idempotent: It can be re-run safely. If there aren't 
any new messages/media to archive/update, nothing happens.
   1. Link message timestamp to original/upstream chat messages.
   
   Additional ideas, maybe post-MVP:
   
   1. What should happen if a message in Slack is edited?
   1. Generate an index for easy browsing by
   1. Handle media (e.g. images).
   1. Handle threads.
   1. Include avatar images.
   1. Include reactions.
   1. Include a search tool 
([Simple-Jekyll-Search](https://github.com/christian-fei/Simple-Jekyll-Search) 
is archived but maybe it still works, maybe there's a decent alternative, or 
maybe we just DIY/NIH).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to