Quick Update gui-eventbus

Fancy things first: I have a working folder view on the web side, meaning the database’s structure now has a graphical interface, it’s not just curl commands and massive xml files.(ignore the fact linking doesn’t quite work yet) And I award myself extra points for it not looking like dog shit, though that’s the stand-in content’s credit mostly. Next major project for the GUI side of things is hooking up all the buttons, making a front page, and setting up some OAuth2. The post on security will be quite hefty I assure you. I want to make this system as enterprise friendly as I reasonably can.

As a side note I just realised the python webserver can just serve the compiled angular app’s files. Maybe an out of the box solution is possible.

Secondly I have rewritten what few lines actually comprised the eventbus described at some length in the last real post I made. This was more of a complexity vs laziness situation where it was actually more lazy to do a bunch of work now and avoid it in the long run in the long run. Now the api is only a single python-flask server instead of two. This lowers failover capabilities but it’s far too early for that.

No pictures this time, just short and sweetness

Progress on the event server

Just a little update on how far I’ve come with the EventBus component I described in yesterday’s post. As you can see from the header image: some amount of progress has been made. The POST command successfully made it through the event bus to the api and back in the green terminal. In the blue terminal, connected to a websocket, the event type along with the json data created by the POST successfully made it to the socket.

In other words this entire flowchart now works. Obviously I’ll do some more testing and I have to implement authentication for the WS and the HTTP sides of this server, but this is definitely a turning point in developing ARA-V.

Websockets and You

Today’s topic is going over how the EventBus model works in general and how it will work specifically in situ, in ARA-V. There are important issues that have to be ironed out in ARA-V’s system because I want the file-system clients to be able to update the metadata of a file “by hand”, i.e. using either their OS’s tools or third party tools. Most of these problems are reserved to the ARAfs system, however having a robust model of event serving is key for user experience.

As well as explaining what I am doing, we’ll be going over what I’m not. As you’ll remember from my last article I was trying to hunt down what the heck made the Push notifications for this site work. I found it is a new part of the HTML5 spec called Server-Sent Events. They’re meant for uses like server notifications and event signaling. Now, since I’m making this section of the system from scratch (the eventbus gateway I mean, I’ll be using a library for websockets obviously) in python there’s some discussion to be had regarding why I chose websockets over HTML5’s SSE. A discussion which I’ll be having mostly on this post.
Continue reading “Websockets and You”

Push notifications and consolidation.

I’ve added push notifications and I have no idea how they work(I did have to turn off my browser’s ad block on this site). Don’t worry though, as far as I know by accepting them you are solely at my mercy. Let me check my logs after this post though to make sure.

So, in case you can’t get enough of my incoherent ramblings on nothing I’m moving all talk of ara (both version) onto this blog along with basically anything else I want to solidify into a post. As much as I love discord it is just not suited at all to the deluge of pics and bullshit I’ve been spewing as of late, so more of that will happen here. Here in a well formatted, readable way.  And a more public way.

#ARA on the octavia inc discord has been locked and I look forward to having some more fun here.

Edit: I’ve glanced through google’s guides and I still couldn’t tell you. bless libraries.

It’s always something

Something you forgot. While taking a bio break I was reflecting on the api, eve, and how my angular webui would interface with it. Then it hit me, eve can’t update the view-model. There’s no code to push anything to the client. Which is really like half of the design goal right there, and me with absolutely zero plan for it. Continue reading “It’s always something”

Progess Update#1

this is an old diagram I made, the connections and number of certain servers have changes but this shows the basic sections of the server programs interacting. let me list out their progresses for posterity

UI: planning ?%, design 10%, connectors ~50%, angularjs knowledge: coming out of beginner stage

Gateway: nginx, http2, nuff said

file storage: python based, 70% sure vfs rewrites are a thing

API: Python knowledge: entering intermediate, specification is 40% done overall not much more to go

Transcoding server: 0% anything other than collecting commands

database: helpfully, this was already written

 

I’m feeling pretty good about how far I’ve gotten since I really put my head into this.

Continuity

Someone pointed out I should keep a progress log of my various learnings and such while building this thing.

I agreed.

So first thing’s first: I am hopefully going to form coherent sentences while explaining why I’m doing what I’m doing.

Digital asset management is becoming mandatory in the office place, offering a coherent place for metadata and revisions of documents, images, videos, etc to occur (the ui) and be stored (the database). However despite this idea of a single high level storage system rising in ubiquity in the business sector, there’s just no competitor in the Free and Open-source Software space. The few I’ve personally used (Entermedia/OpenEdit and Razuna come to mind) had acceptable enterprise features but totally lacked any modern browser features and no helpful features to help the home user quickly access the files. beyond that external files aren’t readily handled at all by razuna.

This is all nit picking sure, but what are the real use cases for this software(s)?

My idea is for easier organization, not only in the database, but exported to a vfs and exposed to the network(cifs/nfs) like it should be. it would even be on a per-user basis, everyone ‘s music folder in a cluster would be able to collected into a master folder where any user could checkout albums or artists.

But use cases are cheap, is there actually a market for this, you may be asking yourself. Well there’s always a job market.

anyway progress updates as I see fit to follow along with more rambles. Comments are open if you’d like to contribute. It’s extremely unlikely anyone will discover this place.

Welcome to WordPress!

Getting started…