actualbudget / docs Goto Github PK
View Code? Open in Web Editor NEWMain website and documentation for Actual Budget
Home Page: https://actualbudget.org
Main website and documentation for Actual Budget
Home Page: https://actualbudget.org
Create documentation on how Schedules work and how you can make use of Rules to set the category when a schedule is posted.
Instructions provided by kidlove57
1) Create your recurring transaction (schedule) and save it.
2) Go back into Schedules and reopen the schedule that you just made.
3) In the middle on the right is a button marked βedit as a ruleβ. Click on this.
4) Scroll down and you will find that you can add further rules by hitting β+β. You may have to scroll to fully reveal this.
5) You can now add a Category for that schedule. And a note too if you wish.
How to persist data in docker?
https://github.com/actualbudget/docs/blob/master/docs/Installing/Docker.md
Better images are required
We will need to update this to include actualbudget/actual#459
Various pages in the Using Actual section
Apologies if I'm missing something obvious, I wanted to try to get this to work so that I can access my file from each device on my network.
I followed the quick guide to get it up and running inside of a linux container. but it seems that for some odd reason it can't find itself. Following the instructions in "Configuring the server URL" leads to a confusing error message in the client:
Server does not look like an Actual server. Is it set up correctly?
The container sits behind an nginx reverse proxy and is accessible from a custom domain name within my personal network, the names resolve just fine both inside and outside the container. But I've also tried using the actual IP of the reverse proxy and even the IP of the container itself, to no avail. Even in connecting directly to the container's IP and putting that IP into the input.
The nodejs app also spits out this error in stdout:
Oct 18 10:34:55 actual yarn[878]: ERROR Error: Could not locate the bindings file. Tried:
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/compiled/18.11.0/linux/x64/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: β /root/actual-server/node_modules/better-sqlite3/lib/binding/node-v108-linux-x64/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]: at bindings (/root/actual-server/node_modules/bindings/bindings.js:126:9)
Oct 18 10:34:55 actual yarn[878]: at new Database (/root/actual-server/node_modules/better-sqlite3/lib/database.js:48:64)
Oct 18 10:34:55 actual yarn[878]: at openDatabase (/root/actual-server/db.js:38:30)
Oct 18 10:34:55 actual yarn[878]: at getAccountDb (/root/actual-server/account-db.js:17:17)
Oct 18 10:34:55 actual yarn[878]: at /root/actual-server/app-account.js:25:19
Oct 18 10:34:55 actual yarn[878]: at Layer.handle [as handle_request] (/root/actual-server/node_modules/express/lib/router/layer.js:95:5)
Oct 18 10:34:55 actual yarn[878]: at next (/root/actual-server/node_modules/express/lib/router/route.js:137:13)
Oct 18 10:34:55 actual yarn[878]: at Route.dispatch (/root/actual-server/node_modules/express/lib/router/route.js:112:3)
Oct 18 10:34:55 actual yarn[878]: at Layer.handle [as handle_request] (/root/actual-server/node_modules/express/lib/router/layer.js:95:5)
Oct 18 10:34:55 actual yarn[878]: at /root/actual-server/node_modules/express/lib/router/index.js:281:22 {
Oct 18 10:34:55 actual yarn[878]: tries: [
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/compiled/18.11.0/linux/x64/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]: '/root/actual-server/node_modules/better-sqlite3/lib/binding/node-v108-linux-x64/better_sqlite3.node'
Oct 18 10:34:55 actual yarn[878]: ]
Oct 18 10:34:55 actual yarn[878]: }
My knowledge of nodejs is zero but I'm assuming this is the actual reason behind why I'm unable to connect? Any ideas of what I can do to fix this? Thanks.
No response
Installation & Configuration
What is the next month buffer, how does it work and what happens if you have multiple months in the future that have a buffer set?
No response
Budgeting
Following the super helpful instructions on installing actual-server locally, I got stuck at the last step ("Accessing Actual") because βΒ as I found out in a discord support request from someone who had the same problem βΒ the linked URL's at the bottom of https://actualbudget.github.io/docs/Installing/Local/your-own-machine say https://localhost:5006/ when it should rather be http://localhost:5006/ (i.e., it should be "http" rather than "https").
I would love to fix this myself, but I do not have sufficient expertise on github to do so, hence I decided to mention it here.
Installation & Configuration, Troubleshooting
Hi, is there a way to not roll over the budget from last month into the current month?
I want every month to start from a clean slate. I've looked through the docs and I have played around with the UI. It may not be possible, but I figured I would ask. And I would be happy to contribute the docs if it does exist.
Basically, I don't want to use the 'cover overspending' feature because it messes with my pretty numbers on the budget. My budgeting is pretty loose, so I just want to make sure that overall, I spend less than the budget amount. But if the numbers increase each month, then its harder to see at a glance that I am under-budget overall.
Budgeting
Clarification on this document https://actualbudget.github.io/docs/Budgeting/creditcards/ that the credit card category is manually created.
Actual is currently incompatible with Nomad for some file access reasons to do with the sqlite DB
Rejection: SqliteError: database is locked
at sqliteTransaction (/app/node_modules/better-sqlite3/lib/methods/transaction.js:66:9)
at WrappedDatabase.transaction (/app/db.js:29:35)
at addMessages (/app/sync-simple.js:27:6)
at Object.sync (/app/sync-simple.js:82:14)
at /app/app-sync.js:114:42
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
at next (/app/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
at /app/node_modules/express/lib/router/index.js:281:22 {
code: 'SQLITE_BUSY'
}
Some form of official note that it is incompatible with Nomad would be great, testing mentioned in this message https://discord.com/channels/937901803608096828/969693280226906162/1031910347105390653
No response
Installation & Configuration
I was creating a new account, and had selected "off budget", then went back to change the type. Then I hit "Create" and it made it an on budget account.
I went back and tried again. This time I noticed that when I changed the type, the checkmark in "Off-budget" disappeared. I think it should remember what I selected, if I wanted it off budget, even if I then realized I had the wrong type.
Nowhere in the documentation does it say what I should do. Add some entry in compose? Open it to the world in Traefik? Any manual changes?
https://i.ibb.co/j40t4qq/2023-04-06-225828.png
https://actualbudget.github.io/docs/Troubleshooting/SharedArrayBuffer/
Installation via docker documentation links a docker-compose file that is not the same pasted in the same page (at bottom of the page).
Furthermore in the documentation is stated:
The options for port assignments and persisting your budget on a volume mounted on your filesystem are all contained in the env file
Anyway the linked docker is using hard-coded values
How to enable encryption, what version of actual you need to be running to use encryption as this was only enabled in a recent version and what happens if you wan't to turn it off.
No response
Installation & Configuration
Testing please ignore
![DESCRIPTION](LINK.png)
Accounts
Detail a workflow and thought process of using credit cards with Actual.
edit: I know this is covered briefly in the FAQ, but I think it's a budgeting topic that deserves some in depth explanation.
Budgeting
Examples of how to handle joint accounts where there is a joint account on budget and only one half of the joint account is within the budget sheet.
No response
Accounts
Short version: After some searching, I figured out how to migrate my data to my new self-hosted server. This issue documents how. I'll happily open a PR to update the documentation if desired. The workaround is to log in to https://app.actualbudget.com which includes the 'export data' button.
Longer version: I could not find any docs or issues detailing how to migrate from the subscription service to the new self-hosted version. I found references to new releases of the Actual Electron App that allow exporting, but that version has not yet been released and installing/building is non-trivial (I have not succeeded yet).
The (temporary) workaround, which I could not find mentioned anywhere, is to log in to the old web version (https://app.actualbudget.com) which runs the latest version of the app, and includes the 'export data' button (under 'settings' from the menu by the Filename). This allows exporting the data, which can then be imported into the web app pointing at your self-hosted server instance. (getting the latest version of the Electron app in order to point it to the self-hosted server is another matter).
Perhaps I could find no issues mentioning this because I'm the only one who didn't think to try this approach ;) ... but I thought I'd mention it for completeness. As I said, I will happily PR to add this to the documentation if desired -- maybe not desirable if a new release is coming soon?
This issue can be closed otherwise. I will close it in a few days if no reply.
When I try to install actual server with actual on my local machine everything works until I run yarn start
, then I get this error.
I only have this error with actual version 23.5.0
, when I do git checkout v23.4.2
then run yarn install
and yarn start
everything work.
/Users/perso/Projects/actual-server/node_modules/bindings/bindings.js:126
err = new Error(
^
Error: Could not locate the bindings file. Tried:
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/compiled/20.1.0/darwin/x64/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
β /Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/binding/node-v115-darwin-x64/better_sqlite3.node
at bindings (/Users/perso/Projects/actual-server/node_modules/bindings/bindings.js:126:9)
at new Database (/Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/database.js:48:64)
at openDatabase (file:///Users/perso/Projects/actual-server/src/db.js:57:30)
at getAccountDb (file:///Users/perso/Projects/actual-server/src/account-db.js:23:18)
at SecretsDb.open (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:52:12)
at SecretsDb.initialize (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:42:22)
at new SecretsDb (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:21:10)
at file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:81:19
at ModuleJob.run (node:internal/modules/esm/module_job:192:25) {
tries: [
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/compiled/20.1.0/darwin/x64/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node',
'/Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/binding/node-v115-darwin-x64/better_sqlite3.node'
]
}
Node.js v20.1.0
1. Fresh install of actual v23.5.0
2. run `yarn start`
3. See error
No response
No response
I often post my scheduled transactions a day or two early. When I select a transaction and choose to post it, it still is appearing in the upcoming scheduled transactions list. If something is scheduled for 11/18 and I post it on 11/16, it should then set next scheduled date for 12/18.
Perhaps I am doing something wrong. Help me out.
In the actual-server repo's readme it's stated:
Whenever you want to update Actual, update the versions of @actual-app/api and @actual-app/web in package.json and run flyctl deploy.
But in the docs (website) there is a process to pull changes from the repo and then redeploy.
Is there a case where one is a better option to document?
ie, should the readme instruction be changed to that of the docs, or the other way around?
https://actualbudget.github.io/docs/Installing/fly/Fly-updating
Explain how the filters work on the account screen and how each successive filter builds on the previous filter. This could be an improvement to other accounts page documentation that exists.
![DESCRIPTION](LINK.png)
Budgeting
Creating from: actualbudget/releases#241
The expando icon only shows on mouse over, this should be changed to always show so it's discoverable by new users, and possibly even default to showing the expanded balances to enhance awareness.
Can you clarify what you're looking for that's different from this?
Originally posted by @MikeBishop in actualbudget/releases#241 (comment)
How can I delete transactions? I don't really understand why can't I manage EVERYTHING
I have monthly bills that I'm obligated to pay every month like rent, electricity, internet. How do I make Schedules that post the transaction(since its direct deposit) and automatically budget and make the payment?
The Deploying Actual on fly.io with a container image document should clearly instruct the user that when running fly launch
command (and commands after that), they need to be running them in the directory with fly.toml file that they created earlier.
For comparison, the Deploying Actual section of Deploying Actual on fly.io with git document actually does a lot better job of this by clearly showing how to navigate each step of the deployment process. I think it has a bit too many of too big screenshots but nonetheless, it makes it hard to do something wrong.
https://github.com/actualbudget/docs/blob/master/docs/Installing/fly/Fly-image.md
[...] maybe as an alternative you/we could make a demo budget and save it to this repo for testing purposes?
Originally posted by @j-f1 in #123 (review)
Including a small demo budget in the repo will help contributors to get going faster as they can simply import the demo budget and start working with the transactions, accounts, rules, etc that are already in place.
This will also create some better consistency throughout the documentation with accounts / transactions / payee naming etc.
I would imagine including the budget as a .zip
backup export from Actual is the best way to deliver?
The current ActualQL documentation uses the following examples:
.select({ total: { $sum: 'amount' } })
and
.calculate({ $sum: 'amount' })
Running this at the developer console will throw an exception Can't convert string to float.
Checking the actual source code it appears that we should have a dollar symbol in front of the column name, like.
.select({ total: { $sum: '$amount' } })
and
.calculate({ $sum: "$amount" })
Perhaps a few more examples would be useful.
The bulk editing function for transactions is both powerful and useful. I will have a go at drafting some documentation
![DESCRIPTION](LINK.png)
Budgeting
Adding should come before renaming & deleting items in the document flow.
https://github.com/actualbudget/docs/blob/master/docs/Budgeting/categories.md
Migrate releasing notes from Actual Repo
https://github.com/actualbudget/actual/blob/master/docs/releasing.md
Add description on the docker tags available
https://github.com/actualbudget/docs/blob/master/docs/Installing/Docker.md
More detailed instructions on how to import data from YNAB this is touched on here but doesn't explain in detail how this works.
Screenshots are required for this section as they are currently missing.
Overview
Many first time users miss the option to show running balance in an account register.
Help note to be drafted to explain this
![DESCRIPTION](LINK.png)
Accounts
A brief note is needed in the Help files to explain the Reconciliation option. This is not all that users expect it to be and their expectations of it should be managed
![DESCRIPTION](LINK.png)
Accounts
Looking at the code and looking at the site served at the actualbudget url doesn't seem to match up?
Reconciliation does not exist in the sidebar, yet in the code it is there:
{
type: 'category',
label: 'Accounts',
collapsed: true,
items: [
'Accounts/overview',
'Accounts/addaccount',
'Accounts/reconcile',
{
type: 'category',
label: 'Transactions',
collapsed: true,
items: [
'Accounts/Transactions/importing-trans',
'Accounts/Transactions/bulk-editing-transactions',
],
},
unavailable('Connecting Your Bank'),
'Accounts/payees',
'Accounts/transfers',
],
},
Maybe this is a dupe of one of the others I opened..
https://actualbudget.com/docs/accounts/overview/
1. Go to https://actualbudget.com/docs/accounts/overview/
2. See the sidebar
3. There is no reconciliation
No response
Chrome
When editing a scheduled transaction, you can either edit the data on the "front page" (typically amount is what changes for me) OR on the "Edit as Rule" page. But if you try both only the "Edit as Rule" change actually sticks.
Example:
I have a scheduled transaction for natural gas payment. As part of the schedule, I have notes set to "[Provider Name] - [MMM]" (first 3 letters of month for the invoice.)
I got an email stating that the next bill will be $88.
Hi
Since Actual flipped to open source (kudos!) i was thinking to import the data from the app running locally on my macbook to the server.
I tried to do so by firing up actual-server using Docker (according to your instructions) and performed the following in order to have data persistany
ENV ACTUAL_USER_FILES=/data
into DockerfileI created a test budget and everything works as expected. I can see the following data generated in the volume
ls -l /volumes/Actual/_data/user-files$ls 3758c690-ede5-49bd-af58-0832fc966f4d/
total 3308
-rw-r--r-- 1 root root 917504 May 15 22:43 cache.sqlite
-rw-rw-rw- 1 root root 2465792 May 15 22:43 db.sqlite
-rw-rw-rw- 1 root root 198 May 15 22:43 metadata.json
Now what i did was to copy my local app files (cache.sqlite, db.sqlite, metadata.json) to the docker actual-server volume under volumes/Actual/_data/user-files$ls 3758c690-ede5-49bd-af58-0832fc966f4d/
That unfortunately did not work. I still see content from the previous testing budget and prompted with sync issues.
Is there any way to import data from local app to the open-source server?
We need to add instructions for installing NodeJs & Yarn on local machines and explain that if they don't want to install locally but rather host in the cloud that this is potentially not requied.
https://github.com/actualbudget/docs/blob/master/docs/Installing/overview.md
loot-design
is no more as of actualbudget/actual#800
actualbudget/actual#1079 (comment)
We should remove all references to this package in the documentation.
Release Notes for 22.10.XX
No response
Release Notes
What are the min requirements to run Actual
No response
Installation & Configuration
I think a page that documents some of our users custom rules that help run their budgets would be helpful to new and old users.
I've started this page in a separate branch. If you'd like, I'll submit a PR to get this started. I've often been hit with creativity block looking for new custom rules. I'd be curious if any other users have custom rules they'd be willing to share.
![DESCRIPTION](LINK.png)
Budgeting
I'm trying to get the API to work. Here is what I've done
1- I've installed actual-server locally and it's running on port 5006
2- I cd into the folder and installed the api using yarn add @actual-app/api
3- I created a test.js file in the actual-server folder and copy paste the following code
let api = require('@actual-app/api'); async function run() { let budget = await api.getBudgetMonth('2019-10'); console.log(budget); } api.runWithBudget('My-Budget', run);
4- I updated "My-Budget" with my id
5- I run using node test.js and get the following error
TypeError: api.runWithBudget is not a function
Can you please advise ?
Documentation needs amending to include this actualbudget/actual#482
https://github.com/actualbudget/docs/blob/master/docs/Budgeting/rules/rules.md
There is an untitled link at the very bottom of the list. This should not exist in a production environment?
https://actualbudget.com/docs/overview/getting-started/
1. Go to https://actualbudget.com/docs/overview/getting-started/
2. Look at the left side-bar
3. See Untitled at the bottom
Chrome
Inspecting the code, they do not have a link associated with them.
https://actualbudget.com/docs/other/rules/
1. Go to https://actualbudget.com/docs/other/rules/
2. Click on Credit cards
3. See nothing happen
Chrome
Do we want to switch this to GH Pages at some poDo we want to switch this to GH Pages at some point?int?
Search functionality would be welcome
Documentation from docusaurus - https://docusaurus.io/docs/search#connecting-algolia
Algolia Application form - https://docsearch.algolia.com/apply/
Application submitted
Search!
Documentation required for this actualbudget/actual#582
I have an idea that could make the documentation process smoother and faster.
At the moment there is a partial system emerging of a specific folder + docs section
happening.
ie images for the backup-restore
section are stored in a folder at img/Backup-Restore
.
However there are many cases where the same images are called for throughout different pages in the documentation.
eg: "click on settings in the sidebar" -> shows an image of the settings button in the sidebar.
With the current system, each contributor would take a screenshot themselves of the settings button in the sidebar, and store it in the respective folder.
This creates extra work for the contributor and also creates the need for many more image changes when a change to the UI is done. The repo will also grow in size as more features get implemented as more image are needed. etc.
I think a mixture of this strategy and the the following idea could be better.
For basic menu items, such as buttons in the sidebar, budget view, reports and other such default view that are not changed by specific user input, we could have a folder with associated images within them.
eg: folder = img/sidebar
, img/budget-view
, etc
In the sidebar view image file names would be in the direction of:
sidebar-settings.png
(showing the 'settings' button in the sidebar)
sidebar-accounts.png
(showing the 'accounts' button in the sidebar)
For all other images that are needed for that specific page, the contributor/s can use the specific folder for that page.
eg, instructions for creating rules will be specific to the written instructions in that page, and therefore highly unlikely to be reusable elsewhere in the site. It makes sense then to have them in their own specific folder as it makes managing them easier when working on the page.
When writing documentation, contributors can first look in the respective folders for the images that they need for basic settings / functionality references. If it isn't there, they can make one and also put it in that folder, making it available then for others in the future.
I think what could come from this is:
For this to work well though we'd need to create some more contributing documentation, explaining to people that this system exists.
Thoughts?
I'm happy to take a lead on this change if it gets the go ahead.
Docs required for this 'View on Hover' to Category Notes
No response
Budgeting
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.