Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.10 #513

Merged
merged 122 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
eb76436
add background to nested attribute template
v1r0x Dec 21, 2022
d0cef28
reset search term
v1r0x Dec 21, 2022
7c1e7fd
update version
v1r0x Dec 21, 2022
5c010c3
fix resetting search to null value
v1r0x Dec 21, 2022
bb7c9eb
correctly reset all column values after table row added
v1r0x Dec 21, 2022
423c4ae
fix tabular attribute preview
v1r0x Dec 22, 2022
9d9920c
fix dropdown selections for new table attributes
v1r0x Dec 23, 2022
6d045b0
Merge branch 'master' into release-0.10
v1r0x Aug 10, 2023
d49d7aa
update dependencies
v1r0x Oct 9, 2023
55eb9c8
fix style in dark mode
v1r0x Oct 9, 2023
22d8cff
rework password reset workflow (#419)
v1r0x Oct 9, 2023
24a806d
Add multiedit support for entity attributes (#401)
v1r0x Oct 9, 2023
895d13f
Moderate attributes (#402)
v1r0x Oct 9, 2023
97115ed
Add external access/open access feature (#420)
v1r0x Oct 9, 2023
72a9d0b
add reset password changes to changelog
v1r0x Oct 9, 2023
1233459
fix duplicate modal function
v1r0x Oct 11, 2023
d19403c
update abandoned pel package
v1r0x Oct 11, 2023
3d407f6
fix jwt key generation
v1r0x Oct 11, 2023
002f5ea
fix moderation state check for system attributes
v1r0x Oct 16, 2023
2ee1ea5
fix using old md dependency
v1r0x Oct 16, 2023
f296e0c
add appname env to open webpack script
v1r0x Oct 16, 2023
65dd478
remove old md lib reference
v1r0x Oct 16, 2023
1fac8ef
add font handling to open webpack config
v1r0x Oct 16, 2023
27d1994
fix empty value in entity-mc attribute
v1r0x Oct 16, 2023
8b4d66b
fix multi-edit modal
v1r0x Oct 16, 2023
8c17fc8
fix multiselect checkboxes
v1r0x Oct 17, 2023
5c6ee56
move markdown-vue import to md-viewer component
v1r0x Oct 19, 2023
bc5156b
add option to ignore attribute's metadata col
v1r0x Oct 19, 2023
8dbaaa6
polish multi-edit view
v1r0x Oct 19, 2023
3d2e14d
fix missing import
v1r0x Oct 19, 2023
941611e
polish open access landing page
v1r0x Oct 19, 2023
695868a
use vertical ellipsis icon
v1r0x Oct 19, 2023
4ab4a83
remove dropdown as it contains only one option
v1r0x Oct 19, 2023
8299036
do not render options as button
v1r0x Oct 19, 2023
9044899
exclude system separator attribute from filters/display
v1r0x Oct 19, 2023
3765665
change paddings to detach scrollbar from content
v1r0x Oct 19, 2023
6ca114b
fix using const
v1r0x Oct 23, 2023
65657bb
use import instead of require
v1r0x Oct 23, 2023
02042e4
0.10 refactor (#422)
Severino Oct 26, 2023
e1b3bba
0.10 refactor vite (#429)
Severino Nov 17, 2023
c52de6d
[0.10] Fix attribute validation & attribute group handling (#427)
v1r0x Nov 17, 2023
96ccbaa
[0.10] Add datatype Richtext (#426)
v1r0x Nov 17, 2023
2ec3430
0.10 fixes richtext (#434)
Severino Nov 24, 2023
b0967db
[0.10] [WIP] Upgrade test suite to latest versions (#428)
v1r0x Dec 13, 2023
c11687d
[0.10] Add serif font (#424) (#438)
v1r0x Dec 13, 2023
f57b1ce
[0.10] Several bug fixes (Roles and Bibliography) (#437)
v1r0x Dec 13, 2023
c2637bb
some minor bibliography fixes
v1r0x Dec 18, 2023
1ad13fd
remove some v-html
v1r0x Dec 19, 2023
d9e525d
update vite v4 -> v5
v1r0x Dec 21, 2023
7c0e179
fix entity duplicate
v1r0x Jan 9, 2024
e47c534
fix geodata in duplicate
v1r0x Jan 9, 2024
6e4d958
fix search in attribute list; fix #433
v1r0x Jan 10, 2024
da82866
small fixes in list component
v1r0x Jan 10, 2024
27caabd
do not submit/reload entity detail view on enter; fix #431
v1r0x Jan 10, 2024
aa9190a
update changelog
v1r0x Jan 10, 2024
7e74aa8
re-enable drag&drop in entity tree; eslint fixes
v1r0x Jan 10, 2024
f29c76d
fix undefined variable epsg
v1r0x Jan 10, 2024
c340f3a
rollback sql attribute querys in transaction
v1r0x Jan 10, 2024
1f976c6
login fixes and improvements
v1r0x Jan 23, 2024
53c376a
[0.10] Fix dirty state after save not removed (#445)
v1r0x Jan 26, 2024
c7b07b0
[0.10] Fixes richtext preview (#444)
v1r0x Jan 26, 2024
06c0e8a
add userlist attribute (#447)
v1r0x Jan 26, 2024
f24070b
[0.10] new profile fields (#446)
v1r0x Jan 26, 2024
4cdc2da
handle bibliography types with no mandatory fields (#443)
v1r0x Jan 26, 2024
95faee0
prevent user from reloading dirty state (#448)
Severino Jan 29, 2024
8ad822a
[0.10] Handle attribute types in separate classes (#449)
v1r0x Feb 8, 2024
97fb367
fix marking all notifications as read (#451)
v1r0x Feb 8, 2024
b957872
fix deleting active attributes and re-ordering (#450)
v1r0x Feb 8, 2024
4fdda1a
use single button for new rows in table attribute (#454)
v1r0x Feb 8, 2024
3457d9b
fix handling empty date
v1r0x Feb 8, 2024
9ad1c5e
cloning entity type to prevent broken state; rework storage method (#…
v1r0x Feb 8, 2024
baf62fd
set attribute label as default parent label (#452)
v1r0x Feb 8, 2024
7626a1e
fix tabular handling
v1r0x Feb 8, 2024
38bb758
Merge branch 'release-0.10' of github.com:DH-Center-Tuebingen/Spacial…
v1r0x Feb 8, 2024
596e64a
add keyboard shortcut to save entity
v1r0x Feb 9, 2024
7fa6db1
close modal on confirm
v1r0x Feb 12, 2024
661cde6
fix typo in permission
v1r0x Feb 27, 2024
ae719a3
fix duplicate after moving entity
v1r0x Mar 4, 2024
20d329d
Fixed wrong exported format (#468)
Severino Mar 6, 2024
aca93f9
only show edit button when textfield is hovered (#458)
v1r0x Mar 19, 2024
a91fc16
[0.10] Fixes dropdown sorting (#469)
v1r0x Mar 19, 2024
f9fb28f
fix certainty values outside 0-100 (#466)
v1r0x Mar 26, 2024
e1a9ea6
simplifiy entity dropdown logic; fix style; speed-up rendering (#472)
v1r0x Mar 26, 2024
59cbfe0
[0.10] Pluck types only in api data (#461)
v1r0x Mar 26, 2024
dd60558
do not trigger save entity event (#457)
v1r0x Mar 26, 2024
1eff80b
[0.10] Fix delete notifiations call (#456)
v1r0x Mar 26, 2024
0a3e55b
[0.10] Restrict entity attribute to specific entity types (#474)
v1r0x Mar 26, 2024
2b14d94
[0.10] Fixes references empty heading (#471)
v1r0x Mar 27, 2024
9c5d79e
[0.10] Fix HTML in comment (#460)
v1r0x Mar 27, 2024
7e9531a
[0.10] Fix for bibliography type misc mandatory (#463)
v1r0x Mar 27, 2024
ce96ab6
[0.10] Add attribute datespan (#455)
v1r0x Mar 27, 2024
fef4d3b
[0.10] Add info to mandatory if bibliography fields (#470)
v1r0x Mar 28, 2024
e5f7d3a
[0.10] Fixes single choice (#473)
v1r0x Mar 28, 2024
c4efdb8
fix comment validation (#476)
v1r0x Apr 4, 2024
1e25764
[0.10] fix misc (#477)
v1r0x Apr 4, 2024
692ef5e
fix open access template; allow coexisting builds for both build endp…
v1r0x Apr 5, 2024
c8a7e05
0.10 adjust import boolean x (#485)
Severino Apr 23, 2024
bf2d591
0.10 feature data importer update (#484)
Severino Apr 23, 2024
53f8dab
[0.10] Fix csvsettings class (#486)
v1r0x Apr 24, 2024
bacc9ac
[0.10] Styling changes/improvements (#483)
v1r0x Apr 25, 2024
514e34b
[0.10] Fix updating profile (#481)
v1r0x Apr 25, 2024
d4d74e7
[0.10] Fix css & html style (#487)
v1r0x Apr 26, 2024
3ae05fc
0.10 fix data importer update dupes (#488)
Severino Apr 26, 2024
e15f79c
[0.10] Fix boolean attribute (#482)
v1r0x Apr 26, 2024
1e91ed9
[0.10] Add URL attribute (#480)
v1r0x Apr 29, 2024
639a2f8
[0.10] Fix attribute dependencies & tabular attributes (#479)
v1r0x May 3, 2024
bdf8f87
[0.10] Fix Dropdown position in entity tree (#489)
v1r0x May 7, 2024
6fa7ff5
disallow adding empty table with 0 columns (#496)
v1r0x May 13, 2024
915ef0f
[0.10] Bundle User & System Preferences (#494)
v1r0x May 13, 2024
1820ef0
[0.10] Fix logging seeders (#495)
v1r0x May 14, 2024
3bbe1c4
[0.10] Fix certainty style (#490)
v1r0x May 14, 2024
706a1f8
[0.10] Several BibTex fixes (#493)
v1r0x May 15, 2024
47760a5
[0.10] Several changes to core map (#459)
v1r0x May 16, 2024
dbee73e
0.10 fix bibtex files non selectable on win mac (#500)
Severino May 16, 2024
ae7d9d6
[0.10] SI-Attribute (#478)
v1r0x Jun 7, 2024
e016771
[0.10] fix attribute import error (#491)
Severino Jun 17, 2024
3982d34
[0.10] Add Entity Metadata tab (#439)
v1r0x Jul 2, 2024
ee271d4
fix missing register of richtext component
v1r0x Jul 2, 2024
e964df6
corrected richtext import (#508)
Severino Jul 4, 2024
34b5296
0.10 additional si units (#510)
Severino Jul 30, 2024
abd053e
fixed missing entity type label (#512)
Severino Aug 5, 2024
9a42156
[0.10] Fix table performance & rework attribute(list) logic (#504)
v1r0x Aug 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 34 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"extends": "plugin:vue/vue3-recommended",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": "latest"
},
"env": {
"browser": true,
"es6": true,
"node": true
},
"rules": {
"vue/multi-word-component-names": "off",
"vue/html-indent": [
"warn",
4
],
"semi": [
"warn",
"always"
],
"no-console": "off",
"no-unused-vars": "off",
"no-extra-boolean-cast": "off",
"no-extra-semi": "warn",
"quotes": [
"warn",
"single",
{
"allowTemplateLiterals": true
}
]
}
}
18 changes: 12 additions & 6 deletions .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['7.3', '7.4']
pg-gis-combo: ['9.6-2.5-alpine', '9.6-3.0-alpine', '12-2.5-alpine', '12-3.0-alpine', '13-3.0-alpine']
php-versions: ['8.1', '8.2']
pg-gis-combo: ['14-3.4-alpine', '15-3.4-alpine']
databases: ['pgsql']

name: phpunit-php${{matrix.php-versions}}-${{matrix.databases}}-postgis${{matrix.pg-gis-combo}}
Expand All @@ -27,7 +27,7 @@ jobs:
POSTGRES_DB: spacialist_tests

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
Expand All @@ -40,24 +40,30 @@ jobs:
sudo apt -y install gdal-bin
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.phpunit', '.env');"
- name: Update Composer
run: composer update
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
- name: Generate keys
run: |
php artisan key:generate
php artisan jwt:secret
- name: Run migrations
run: |
php artisan migrate
- name: Run seeds
run: |
php artisan db:seed --class=DemoSeeder
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Setup Log Directory
run: mkdir -p build/logs
- name: Execute tests (Unit and Feature tests) via PHPUnit
run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml
- uses: codecov/codecov-action@v1
- uses: codecov/codecov-action@v3
name: Codecov Coverage
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./build/logs/clover.xml
name: spacialist-php${{matrix.php-versions}}-${{matrix.databases}}-postgis${{matrix.pg-gis-combo}}
verbose: true
verbose: false
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Created by https://www.gitignore.io

## General ##
_legacy
*.cache

### NPM ###
node_modules

Expand All @@ -8,8 +12,13 @@ thesaurex
/db
/app/Plugins/


## PHPUnit
phpunit.xml.bak

## Created by PHPUnit/Coveralls
/build
phpunit.xml.bak

## Created by Laravel
/node_modules
Expand All @@ -28,3 +37,9 @@ yarn-error.log
yarn.lock
.env
.env.testing

# Vite
/public/build

# Playground
/playground
104 changes: 104 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,103 @@
# Changelog
All notable changes to this project will be documented in this file.

## 0.10 - Jelling
### Added
- Support Multiediting attributes across multiple entities (through ...-menu in entity tree)
- Support moderated roles/users that require a privileged user to accept/deny their changes in entity forms
- Serif font (Zilla Slab)
- New Attribute Type: _Richtext_ (A feature-rich alternative to _Textbox_ Attribute; based on Markdown)
- New Attribute Type: _Date range_
- New Attribute Type: _URL_
- New Attribute Type: _Userlist_
- New Attribute Type: _Attribute Group Separator_ (A separator element to group attributes in tabs)
- Separate form Save/Reset in Entity Attribute Tabs (when using _Attribute Group Separator_)
- Additional non-standard bibtex fields to _Bibliography_ (ISBN, ISSN, Language and Abstract)
- Additional fields in _User profile_ regarding institution
- Keyboard Shortcut to save Entity (`Ctrl + s` for current open attribute tab, `Ctrl + Shift + s` for entire entity)
- Show parent entity path in _Move entity_ modal
- Pasting into _Bibliography Item_ now works without clicking first and display some more info
- Info on hover to required fields in new/edit bibliography modal
- Restrict search in _Entity_ attribute to specific entity-types
- Metadata tab to _Entity Detail_ panel=======
- Allow _Multiple Choice Dropdown_ in _Table_ attribute
- Allow _Date Range_ in _Table_ attribute
- Entities can now be updated using the _Data Importer_
- Add option to export only search results in _Bibliograpy_
### Fixed
- Error in _Attribute List_ caused by _Entity (Multiple Choice)_ attribute
- Attribute form Save/Reset handling due to newly introduced _Attribute Group Separator_
- Adding roles without setting a preset
- Permission Overview not visible if new role without preset is added
- Save Permissions without changing state of _Moderation_ switch
- Deleting a bibliography entry
- Importing local file referenced in Bibtex import
- Typos in Translation files
- Updating bibliography entries
- Duplicate Entity
- Search in Attribute List
- Do not reload _Entity Detail_ on `Enter` key
- Do not allow empty values in _List_ attribute
- Re-add Drag & Drop to _entity tree_
- Reset error message on login
- No fields shown for _misc_ bibliography type
- Deleting attributes while still used in entity types lead to wrong position of attributes after re-ordering
- Mark all notifications as read
- Unsetting a date value
- Unsaved changes in _Data Model Editor_ were visible in the UI
- Trigger event on updating point coordinates in popup
- Adding bibliography of type _misc_
- Moving entity in tree created a temporary duplicate
- Entity Types in Data-Model-Editor not scrollable
- Scroll to entity in tree after selected (e.g. from a linked geometry on map or _Entity_ attribute)
- After unset _Single Choice_ attribute value an Entity could not be saved/resetted
- After unset _Entity_ attribute value an Entity could not be saved/resetted
- _Parent Attribute_ in _Single Choice_ attribute builder had no effect
- Add missing info (`**`) to bibliography fields that are only required if another field is **not** set
- Certainty values lower than 0 or higher than 100
- Speed-up slow rendering time of (large) entity trees
- Do not send notifications on moving an entity
- Deleting all notifications
- Button style in notifcation panel
- Remove headings without content from _References_ tab in Main View
- HTML content in comments
- Adding comments without content to _Entity_
- Only first letter/selection/… of values in tables saved to database
- Dependency state of attributes not persisted
- Correctly propagate attribute changes to update dependent attributes' visibility
- Storing _false_ values in _Boolean_ attribute
- Adding references to a newly added/saved attribute value
- Empty ORCID or phone number prevented users from saving the profile
- Generated citation key in Bibliography could contain metadata characters
- Adding literature entry from clipboard
- Bibtex type `inbook` could not be added
- Activity was not shown/blank
- Adding empty table was possible and error was thrown
- Bibliography import: files with .bib & .bibtex not visible on Windows and Mac
### Changed
- _Entity tree_ sorting is now accessible through ...-menu
- Reset Password Workflow
- Allow adding options in _List_ attribute on `Enter` key
- Set timeout & disable login button while authenticating
- Better handling and validation of user input in _User profile_
- Attribute type backend logic moved to separate classes
- Made UI to add new rows to _Table_ attribute clearer
- Attribute type backend logic moved to separate classes
- Set default value in parent element in _Add Attribute_ modal
- Rework System/User Preferences and allow plugins to add their own preferences
- Values in Dropdown attributes are now sorted alphabetically
- Values in Dropdown attributes are now searchable
- Font size in dropdown menus
- _About_ modal contributors
- Data Importer: Now supports the Boolean attribute with the value 'x'
- Append `et al.` to citations in reference tab and modal
- Do not show "!" for attributes without value & replace initial "!" with "?" for attributes with value, but no certainty set
- Bibtex import now is case-insensitive for type and keys
- Display only the first and last 10 rows of a table that has more than 25 rows
- Click on _show hidden_ text to display all rows
- Only load first 15 elements in dropdown attributes and load more elements on scroll/search (due to bad performance if an entity has a lot of dropdowns)
- Reworked attribute list logic for a more consistent data management in the background

## 0.9.14
### Added
- Changelog Viewer
Expand Down Expand Up @@ -35,6 +132,13 @@ All notable changes to this project will be documented in this file.
- Error on page access with no installed plugins (because Plugin directory is missing)

## 0.9.10
### Added
- Background to column section in _Add Attribute_ modal to better distinguish it from the main section
### Fixed
- Reset label search after column added to table datatype in _Add Attribute_ modal
- Reset column values after new row is added in _Entity Detail_ form
- Preview for _table_ datatype
- Dropdowns for columns of newly added _table_ attribute only visible after page reload
### Changed
- Attributes in entity detail's link list are now grouped by linked entity

Expand Down
21 changes: 13 additions & 8 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,10 @@ Then paste this configuration (Please edit some of the configuration settings `*
```
APP_NAME=Spacialist
APP_ENV=local
APP_DEBUG=true
APP_DEBUG=false
APP_KEY=base64:<32bit-key> #this needs to be a 32 digit random key. Use 'php artisan key:generate'
APP_URL=http://localhost #set this to your proxy url if needed and enable it by setting APP_FORCE_URL to true
APP_FORCE_URL=false #set this if you need to force using your proxy url

# Your database setup. pgsql is PostgreSQL. Host, port, database, username and password need to be configured first (e.g. using your database server's commands).
DB_CONNECTION=pgsql
Expand Down Expand Up @@ -176,27 +178,30 @@ PUSHER_APP_SECRET=
JWT_SECRET=ase64:<32bit-key> #this needs to be a 32 digit random key. Use 'php artisan jwt:secret'
JWT_BLACKLIST_GRACE_PERIOD=0

MIX_APP_PATH=
VITE_APP_PATH=${APP_URL}
VITE_APP_NAME='Custom Instance'
```

#### Send Mails
If you want to send mails to your users (e.g. password reset), you have to adjust the `MAIL_*` settings to match a smtp server from where you can send mails.
If you want to send mails to your users, you have to adjust the `MAIL_*` settings to match a smtp server from where you can send mails.

### Configure JavaScript
Spacialist is based on several JavaScript libraries, which are bundled using Webpack (configuration is done using Laravel Mix, a webpack-wrapper for Laravel). Only the zipped releases contain the already bundled JavaScript libraries. All other users have to run webpack to bundle these libraries.
Spacialist is based on several JavaScript libraries, which are bundled using Vite.
Before running Vite (`npm run dev` or `npm run build`), you have to adjust the app location path and the app name. This is done using the `VITE_APP_PATH` and `VITE_APP_NAME` variables in `.env` file.

Before running webpack, you have to adjust the public path in the mix config file `webpack.mix.js`. To do so, set your path using the `MIX_APP_PATH` variable in `.env` file.
**Note:** In the future zipped releases might be released, containing already bundled JavaScript libraries.

```bash
MIX_APP_PATH=Spacialist/subfolder/instance/
VITE_APP_PATH=Spacialist/subfolder/instance/
VITE_APP_NAME=Custom Spacialist Instance
```

Now you can run webpack using
Now you can run Vite using

```bash
npm run dev
# or
npm run prod
npm run build
```
depending on whether you want a debugging-friendly development build or an optimized production-ready build.

Expand Down
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,24 @@ A list with all available plugins is **coming soon**.

All PHPUnit tests are based on the `DemoSeeder` seed. To run tests, follow these steps:

1. Create a new database and a `.env.testing` file (`cp .env .env.testing`) and reference the DB in your `.env.testing` or, if you don't have/want one, in your `.env` file
2. Run migrations
- For `.env.testing`: `php artisan migrate --env=testing`
- For `.env`: `php artisan migrate`
3. Run seeds
- For `.env.testing`: `php artisan db:seed --class=DemoSeeder --env=testing`
- For `.env`: `php artisan db:seed --class=DemoSeeder`
4. Run `vendor/bin/phpunit`
1. Create a new database and a `.env.testing` file (`cp .env .env.testing`) and reference the DB in your `.env.testing`.
2. Run `php artisan app:test --refresh --skip` This will:
1. Run migrations `php artisan migrate --env=testing`
2. Run seeds `php artisan db:seed --class=DemoSeeder --env=testing`
3. Run `php artisan test` or `vendor/bin/phpunit`

### Run specific tests
You can also run specific tests in isolation:
```bash
# Runs a specific test file
php artisan test --filter NameOfTestFile

# Runs a specific test inside the specified test file
php artisan test tests/Feature/MyTestFile.php --filter testTargetMethod
```


Note: To re-run all migrations you can use this command `php artisan migrate:fresh --seed --seeder=DemoSeeder --env=testing`

## Screenshots

Expand Down
Loading
Loading