I’ve now released version 1.0.0-alpha4 with the following change-log;
[1.0.0-alpha4] - 2023-03-06
Added
Add support for falling back on not using subrequests when it fails with a 403/404
Improve behaviour of cache query operators to more closely match Drupal’s JSON:API and add some tests
Fixed
Skip schema properties without definitions
[1.0.0-alpha3] - 2023-03-01
Fixed
Fix handling of options.pluginDir in assetlink-plugin-dev-support
[1.0.0-alpha2] - 2023-03-01
Added
3 Likes
I’ve now released version 1.0.0-alpha5 with the following change-log;
[1.0.0-alpha5] - 2023-03-14
Added
Add support for AND/OR query groups in both cache and remote queries
Add user defined asset log plugins with a wizard to create them
Improve docs and add a rough outline of an Asset Link user guide
Changed
Make query behavior/operators more closely align with Drupal’s JSON:API and add more tests
Fixed
Fix a bug when updating logs without specifying any attributes
Screencaptures
4 Likes
I’ve now released version 1.0.0-alpha6 with the following change-log;
[1.0.0-alpha6] - 2023-03-17
Added
Add menu action slots to manage plugins page
Add a share menu action for exporting Asset Link plugins
Changed
Made precaching opt-in and smarter about only caching new asset/log changes
Fixed
Fix precaching menu item so it isn’t also a link to the manage plugins page
Screenshots
3 Likes
I’ve now released version 1.0.0-alpha8 with the following change-log;
[1.0.0-alpha8] - 2023-04-04
Fixed
Fix some lint build errors
[1.0.0-alpha7] - 2023-04-04
Added
Implement nested relationship attribute filtering
Surface navigation for exact route matches above asset search results
Surface option to install plugin and plugin list urls above asset search results
Add support for built Asset Link plugins in assetlink-plugin-dev-support
Changed
Change to new utf-8 compatible data url encoding format for storing plugins
Fixed
Fix a bug with nested AND/OR query groups not being added as memberOf eachother
Fix a bug with the UrlBasedAssetSearcher plugin
Screenshots
Scan/Search Asset Link Page Routes to Navigate to them;
Scan/Search Plugin Urls to Install;
Documented and Added Dev Support for Plugins that Require a build Step:
See https://github.com/symbioquine/farmOS_asset_link/tree/development/alinkjs/packages/assetlink-plugin-dev-support#plugins-that-require-a-webpack-build-step
2 Likes
I’ve now released version 1.0.0-alpha9 with the following change-log;
[1.0.0-alpha9] - 2023-05-29
Added
Add documentation about how to build .vue plugins via Webpack
Fixed
Fix bug with sidecar UI breaking certain mobile clicks in farmOS - #42
Improve compatibility with old versions of Safari avoiding elvis operator in Sidecar bootstrapping code
Fix edge case bug with computing location relationships
Fix URL building with ‘IS NULL’ and ‘IS NOT NULL’ operators for remote queries
Improve responsiveness of searching and opening assets within Asset Link
1 Like
I’ve now released version 1.0.0-alpha10 with the following change-log;
[1.0.0-alpha10] - 2024-02-13
Added
Add a loading indicator for asset search
Add an explanation of route prop handling to docs
Add log owner to the log page
Add log date decorator to log names
Add package for a “lite” version of Asset Link which works without a farmOS server
Add a welcome/explanation page to Asset Link Lite
Changed
Improved log page date formatting
Switch to npm workspaces instead of lerna
Load farmOS models via a special controller to improve performance/flexibility
Refactor structural data preloading into separate/replaceable class
Load default plugin list using path relative to Asset Link
Make reload and “open in farmOS” meta actions appear only when relevant
Update to work with farmOS 3.x
Fixed
Improve browser compatibility by avoiding Blob::arrayBuffer() fn
Fix route prop handling for log and asset pages
Improve asset/log page handling of unresolved state
Improve handling for assets/logs without certain fields
Handle resize events that occur before code editor is instantiated
Cleanup some stale config from using Lerna
Fix url encoding in handling of $relateByName directive
4 Likes
I’ve now released version 1.0.0-alpha11 with the following change-log;
[1.0.0-alpha11] - 2024-02-14
Fixed
Fix a bug in how urls are generated for Asset Link Sidecar
2 Likes
I’ve now released version 1.0.0-alpha13 with the following change-log;
[1.0.0-alpha13] - 2024-04-14
Added
Add docs with more examples of advanced queries via Orbit.js and the plugin API
Fixed
Fix a bug where the EntitySelect component multiple option is broken - #47
[1.0.0-alpha12] - 2024-04-09
Changed
Update Vue to 3.4.15 and vue3-sfc-loader to 0.9.5
3 Likes
I’ve now released version 1.0.0-alpha14 with the following change-log;
[1.0.0-alpha14] - 2024-04-23
Added
Expose the farmOS instance name, version, and system of measurement
Add support for simple maps using farmOS-map
Fixed
Cleanup a few minor issues with the documentation
Meta Info Exposed
Map Integration Tutorial
TestMap.alink.vue
<script setup>
import { createDrupalUrl } from "assetlink-plugin-api";
const onMapInitialized = (map) => {
map.addBehavior("sidePanel");
map.addBehavior("layerSwitcherInSidePanel");
const layer = map.addLayer('geojson', {
title: 'All Assets',
url: createDrupalUrl('/assets/geojson/full/all')
});
layer.getSource().on('change', function () {
map.zoomToVectors();
});
};
</script>
<template alink-route[com.example.farmos_asset_link.routes.v0.test_map]="/test-map">
<farm-map @map-initialized="onMapInitialized"></farm-map>
</template>
3 Likes
4 posts were split to a new topic: farmOS version showing 3.x vs 3.2.1
I’ve now released version 1.0.0-alpha15 with the following change-log;
[1.0.0-alpha15] - 2024-09-25
Added
Changed
Update testing docker-compose.yml files to use farmos/farmos:3.3.1
Fixed
Fix a warning traversing schema refs that have no linked schemas
Remove deprecated version key from testing docker-compose.yml files
1 Like
I’ve now released version 1.0.0-alpha16 with the following change-log;
[1.0.0-alpha16] - 2024-11-18
Added
Improve the plugin dev support docs and add a pluginConfigMutator option
Add a whitelist mechanism to control when the sidebar appears in farmOS
Add a local sidebar whitelist mechanism in the plugin API
Changed
Generate the plugin config yml files via plugin dev support
Change the sidebar/sidecar to use mdi-v6 icons like the PWA part
Fixed
Fix Quasar styling for “global components” like dialogs appearing in farmOS
Screencap/Demo
2024_11_18_assetlink_sidebar_whitelisting_and_dialogs.webm
<script setup>
import { defineComponent, h, inject} from 'vue';
import {
QCard,
QCardSection,
QDialog,
useDialogPluginComponent,
} from 'quasar';
const assetLink = inject('assetLink');
const TestDialog = defineComponent(() => {
const { dialogRef, onDialogOK, onDialogCancel } = useDialogPluginComponent();
return () => h(QDialog, { ref: dialogRef }, () => [
h(QCard, { style: "width: 700px; max-width: 80vw;" }, () => [
h(QCardSection, { 'class': "text-h6" }, () => [
'Test Dialog! '
])
])
])
});
const showDialog = async () => {
await assetLink.ui.dialog.custom(TestDialog);
};
</script>
<template alink-slot[com.example.farmos_asset_link.sbm_item.v0.rotating_pony]="sidebar-menu-slot(weight: 15)">
<q-fab-action @click="showDialog" color="grey-8" icon="mdi-horse"></q-fab-action>
</template>
<script>
export default {
onLoad(handle) {
handle.whitelistSidebarUrlPattern(/https?:\/\/.*\/plan\/(\d+)/);
}
}
</script>
<style scoped>
.q-btn {
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@keyframes spin {
from {
transform:rotate(0deg);
}
to {
transform:rotate(360deg);
}
}
</style>
3 Likes
I’ve now released version 1.0.0-alpha17 with the following change-log;
[1.0.0-alpha17] - 2026-02-12
Changed
1 Like
Thanks for the bug report and trying Asset Link! I haven’t played with it much with 4.x yet so I’m not surprised that there’s issues.
I’ve gotten a bit sidetracked (should we make “maintracked” a word?) with some other Spring projects here, but I was realizing that I probably also need to fix a few (data model related) things in Asset Link related to 4.x so look out for another release soon. Hopefully I’ll be able to reproduce/fix this issue at the same time.
2 Likes
I’ve now released version 1.0.0-alpha18 with the following change-log;
[1.0.0-alpha18] - 2026-03-17
Changed
More thorough fixes for compatibility with farmOS 4.x
1 Like
@pat asked this a while ago, but might have slipped between the cracks. Just wanted to add some thoughts…
Drupal has a mechanism for exposing strings as “translatable” in JavaScript, which is very similar to how it works in PHP.
https://www.drupal.org/docs/8/api/translation-api/overview#s-translation-in-javascript-files
tl;dr: strings that are wrapped in the global Drupal.t() function will be automatically detected by localize.drupal.org so they can be translated.
We discussed this a while ago for Field Kit… here are two issues that might contain relevant information/ideas:
opened 08:51PM - 19 Jun 19 UTC
l10n
As we get closer to making farmOS-client an integral part of farmOS itself, one … thing we need to consider is how we will be able to translate the client UI into other languages.
Currently, farmOS itself relies on Drupal's translation system to provide localized text in Drupal-generated UI pages. This allows the translation process to be centrally managed on https://localize.drupal.org/translate/projects/farm - where users can contribute and download translations.
If we can hook into that same system somehow, that might be ideal. I don't know what kinds of options are available in the world of Javascript, or if this problem is being tackled in headless Drupal already. This would be something to investigate...
opened 05:51PM - 05 Aug 20 UTC
l10n
@mstenta and I discussed this briefly, but I'd really like a way of programmatic… ally transferring the strings in the JavaScript translation files over to the Drupal/farmOS translation base. I think I'd try to do it with a Node script, because that's what I'm most comfortable with, but I'll probably need some pointers from @mstenta on how best to get them into farmOS.
2 Likes
A post was split to a new topic: Asset Link plugin settings issue