Giter Site home page Giter Site logo

Comments (4)

tommcclean avatar tommcclean commented on May 26, 2024 1

I have decided to stop auto reporting for now, as it reports some links that may be network blocked as opposed to anything else.

I have extended the front end to show page titles more prominently where they can be acquired. Where they can't; there is no UI change. I think this solves your feature request.

image

from frontend.

tommcclean avatar tommcclean commented on May 26, 2024

Interesting idea, I am investigating this with a proof of concept: https://github.com/tommcclean/functions.cmpct.io

The repo in that link is a new Azure Function Set, the RouteProcessor is triggered by a route JSON file being written to the storage container, on trigger it iterates over each link and queries the link securely to obtain the page title. It then uses that information to rewrite the route file, so that subsequent requests through the website will be able to get the title back.

I decided not to trial this in the API, as I didn't want to do anything long running or blocking in the API that wasn't needed for the core product to work, but as this is isolated from the front end and the API, it can gracefully increase the quality of data over time.

The proof of concept will run for a little while, to see how performant it is, how much it costs to run, and chiefly, how long does it take from a route being created, for it to be updated with associated metadata. If the reaction time is fast, and it is cheap to operate, I will extend it to also scrape for a screenshot of the page, which will start to exist in the data, and can be made visible on the front end website later.

With this prototype, the model is rehydrated as follows.
image

This solution won't work for links hidden behind authentication however. Places like slack tend to get around this by using the user's auth token with the service, but that is not achievable for this project.

This functionality can also be extended to automatically report dead links.

from frontend.

tommcclean avatar tommcclean commented on May 26, 2024

This Proof of Concept seems to be quite successful. So I have pointed it at the main data store, and it has processed the majority of the content quickly. The API has been updated to extend the response model to include a new title property.

Finally the front end has been updated to apply the title on hover.

When more information is gathered about a link, a modal or some other UI element could be used to display it, but as an early attempt; a title will suffice to see how it works out.

As demonstrated here - https://cmpct.io/mJyxBoI1

The delay in adding this data to the model takes approx a second, so as soon as it is shared; such content is available.

image

from frontend.

tommcclean avatar tommcclean commented on May 26, 2024

Oh and it automatically reports dead links
image

from frontend.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.