I’ve been kind of quiet on the development front recently. Mostly I’ve been working on outdoor/electronics/electrical projects, but some of my time has gone into a project that I’d like to share which I’m calling “Asset Link”.
The idea stems from a custom tool I had built for 1.x called “Rabbit Link” which we use to manage rabbit animal assets.
Rabbit Link
Basically, Rabbit Link is a simplified interface which codified our conventions for managing rabbits, their cage locations, and various breeding/maintenance tasks. It also worked offline since caching the data for all our animals in the browser was trivial.
Here are a few screenshots showing Rabbit Link in action;
Rabbit Link has been a key part of making it possible to manage between 50 and 75 rabbits and their associated care/breeding/etc.
What we’ve learned is that we really need something like Rabbit Link that works more generally for all our asset types.
Thus was born the concept of “Asset Link”.
Obviously, the set of actions and key data fields for all asset types can’t just be hard-coded like I did for Rabbit Link so instead many aspects must be extensible, but a lot of the underlying mechanism for an online/offline capable asset tool is pretty general.
I don’t yet know for sure how the future looks for Asset Link as compared with Field Kit - except that I wanted my own playground to prototype in and (probably) make my own mistakes…
In my next post (hopefully in the morning) I’ll share a little about my current development progress on Asset Link.
This looks so useful, @Symbioquine, i’d really like to give it a try. Two related questions:
Client side: what is the mobile platform requirement? Android, iOS… Is it a PWA?
Server side: dunno if we’ve passed that “beta release” threshold Mike set as a precondition for Farmier deployment (?), but if not, then is there a test server online to which one might connect it for testing purposes?
As an alternative to Farmier-hosted, which i would prefer, then… Yes, @Farmer-Ed: i’m gonna have to get over my aversion to installing a local instance someday, and this is as good an excuse as any, so i would consider it (so long as it’s a simple point&shoot operation on mac <8-)…
ah but… you’d have to get your hands a little dirty. Don’t know about installation on a Mac but I use Virtualbox to host a Linux instance on my Windows laptop. Virtualbox is available for Mac and you can take snapshots as you go, so you can instantly restore to any previous snapshot which makes it perfect for testing.
But you do still need to setup your guest OS and install/configure farmOS.
Anyway we could discuss it further elsewhere if that is something you are interested in, don’t want to derail this thread too much.
Thanks for the interest and following along with my progress here! It definitely helps me stay motivated.
Asset Link is a PWA. I intend to target only recent stable versions of Firefox and Chrome (probably < 1yo) - though I would consider contributions that improve compatibility beyond that.
Asset Link is still very much pre-alpha software. I’m eager to have folks test it out, but I’d be getting ahead of myself if I were to suggest that Asset Link is ready for that at the moment.
I like the idea of a test server, but I can’t promise I’ll have bandwidth to set one up in the near future.
A drastically simplified model for how plugins provide UI components
A shorthand for defining basic UI slots without the onLoad boilerplate plugin code
Making the loading more consistent between .js and .vue plugins such that .js plugins can use the same import style as .vue plugins
Improved handling of logged out state to retain functionality but offer a banner prompting users to login so new data/changes can flow between Asset Link and the farmOS server
More…
I also feel I’m getting enough traction stability/feature wise to predict a timeline for folks who are interested in testing out Asset Link for themselves - probably starting with those who are self-hosted and comfortable installing farmOS/Drupal modules.
Plugin API NPM Package: assetlink-plugin-api - npm (I’ll update the documentation soon with information about how to use the published package in the rare event that a plugin needs a build step.)