Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Elektra Web 1.5 #2029

Closed
wants to merge 378 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
378 commits
Select commit Hold shift + click to select a range
a072fe4
docker: Add release note
ingwinlu Jun 4, 2018
1bc9da4
docker: fixup spelling in release notes
ingwinlu Jun 4, 2018
dd05700
OpenBSD Build: Update COMPILE.MD
petermax2 Jun 4, 2018
05dd810
docker: implement feedback
ingwinlu Jun 4, 2018
a241ccc
doc: improve text about comments
Jun 5, 2018
d613092
keytometa: update metadata
Jun 5, 2018
b58cd55
update-infos-status: sort
Jun 5, 2018
df0c357
doc: update as discussed in #2040
Jun 5, 2018
ca7bee1
haskell-cmake-improvements: add release note
e1528532 May 18, 2018
455a0da
haskell-cmake-improvements: adjust the release notes to expected format
e1528532 May 23, 2018
5c46ac3
typechecker-regex-prototype: improve/finish cmake packaging process, …
e1528532 Apr 19, 2018
53c4a66
typechecker-regex-prototype: improve build process; avoid artifacts i…
e1528532 Apr 23, 2018
24aa8c1
typechecker-regex-prototype: require hint 0.7.0 or it fails on stretch
e1528532 Apr 23, 2018
0416481
typechecker-regex-prototype: fix/unify sandbox handling
e1528532 Apr 23, 2018
c430721
regexdispatcher: add first draft of the plugin
e1528532 Apr 26, 2018
2999db7
regexdispatcher: finish range dispatcher
e1528532 Apr 27, 2018
acbab9a
regexdispatcher: adjust typechecker to dispatched regexes
e1528532 Apr 27, 2018
ac67938
regexdispatcher: add dispatcher for enum checks
e1528532 Apr 27, 2018
99606ae
regexdispatcher: add travis test
e1528532 Apr 27, 2018
3bd4d38
regexdispatcher: fix compilation on linux
e1528532 Apr 27, 2018
6094828
regexdispatcher: reformat cmake
e1528532 May 24, 2018
37f7e9e
regexdispatcher: mount along typechecker
e1528532 May 24, 2018
fee3d83
regexdispatcher: fix adjusted typechecker example
e1528532 May 24, 2018
1a1eaed
regexdispatcher: rebase fixies
e1528532 May 25, 2018
625620c
regexdispatcher: adjust cabal file
e1528532 May 25, 2018
277902d
regexdispatcher: prepare for new prelude loading implementation
e1528532 May 25, 2018
63e20fe
regexdispatcher: add invoke bindings for alternative prelude handling
e1528532 May 28, 2018
9cdd27f
regexdispatcher: prepare typechecker for alternate prelude handling
e1528532 May 28, 2018
67d949c
regexdispatcher: use invoke now for prelude loading to avoid kdbOpen …
e1528532 May 28, 2018
f600b47
regexdispatcher: bindings are implicitly included with new cmake system
e1528532 May 28, 2018
d2204c7
regexdispatcher: greatly improve plugin data plumbing to avoid messin…
e1528532 May 29, 2018
84a5238
regexdispatcher: invoke in open/close, store plugin data
e1528532 May 29, 2018
8219d64
regexdispatcher: fix type signature in prelude
e1528532 May 29, 2018
7b63dc5
regexdispatcher: update release notes
e1528532 May 29, 2018
8a85e27
regexdispatcher: adjust ifKey and whenKey syntax to how its normally …
e1528532 May 29, 2018
fd76d4d
regexdispatcher: add validation support
e1528532 May 29, 2018
00eb3a1
regexdispatcher: correct order & minimize inversion results
e1528532 May 29, 2018
186e580
regexdispatcher: small simplification
e1528532 May 29, 2018
0352050
regexdispatcher: adjust rebase issue
e1528532 May 29, 2018
67ec8f9
regexdispatcher: add validation example to typechecker
e1528532 May 29, 2018
af42294
regexdispatcher: remove ununsed function
e1528532 May 30, 2018
430ba83
regexdispatcher: use raw pointers directly, figure out segfaults
e1528532 May 30, 2018
db49617
regexdispatcher: fix plugin data handling in combination with pluginp…
e1528532 Jun 4, 2018
63e086e
regexdispatcher: correct case of file
e1528532 Jun 4, 2018
f446b5f
regexdispatcher: fix case #2
e1528532 Jun 5, 2018
9cd366a
build: Implement debian-stable-multiconf
ingwinlu Jun 5, 2018
0cdaaae
doc: fixup missing author
ingwinlu Jun 5, 2018
6b74d8a
doc: remove multoconfig-gcc-stable ref
ingwinlu Jun 5, 2018
e84159b
doc: implement debian-stable-full-ini
ingwinlu Jun 5, 2018
7b15ec3
regexdispatcher: resolve the review comments
e1528532 Jun 5, 2018
895c411
Travis: Use latest version of Xcode
sanssecours May 31, 2018
ffa9883
YAML CPP: Catch exceptions per reference
sanssecours May 31, 2018
229b6c2
Ni: Rephrase parts of the plugin documentation
sanssecours Jun 1, 2018
ba7d819
Markdown Shell Recorder: Remove unused variable
sanssecours Jun 1, 2018
92e0925
Markdown Shell Recorder: Rename variable
sanssecours Jun 1, 2018
9552a72
MSR: Support empty `#>` directive
sanssecours Jun 1, 2018
e274c69
Release: Fix minor spelling mistake
sanssecours Jun 3, 2018
fdd6b85
Ni: Add basic Markdown Shell Recorder test
sanssecours Jun 1, 2018
b4d2d54
build: Enable coverage for ini build
ingwinlu Jun 6, 2018
242ffae
regexdispatcher: use check/validation metakey for generated regexes
e1528532 Jun 6, 2018
9c5139a
build: port mingw-64 build job
ingwinlu Jun 6, 2018
2749f15
fixup: remove ','
ingwinlu Jun 6, 2018
bcfa689
docker: add wine as a dependency
ingwinlu Jun 6, 2018
1885161
cmake: test if wine is available for mingw builds
ingwinlu Jun 6, 2018
30e2c04
build: do not quote destdir
ingwinlu Jun 6, 2018
46dc09a
build: Port over nokdb build job
ingwinlu Jun 6, 2018
af74810
doc: remove already disabled build job notest
ingwinlu Jun 6, 2018
d025e7c
build: Port no-optimizations build job
ingwinlu Jun 6, 2018
a02fc53
build: Disable debian-stable-full-optimizations-off
ingwinlu Jun 7, 2018
6eb3edf
regexdispatcher: add usedby to check/validation metadata
e1528532 Jun 7, 2018
7142eee
core: define SSIZE_MAX if not available
Jun 9, 2018
a770178
spec: use elektraStrDup
Jun 9, 2018
c3752ae
man: update file
Jun 9, 2018
829bf70
doc: update TODO a bit
Jun 9, 2018
7aa44a9
Release: Add subsection for Travis and Jenkins
sanssecours Jun 8, 2018
ed5ae69
Release: Improve structure of release notes
sanssecours Jun 8, 2018
fe6a3ac
Fix Spelling: Do not ignore removed GTest dir
sanssecours Jun 9, 2018
1fe7054
Documentation: Fix spelling
sanssecours Jun 9, 2018
3dff9c1
Release: Capitalize proper noun Haskell
sanssecours Jun 9, 2018
7196029
KDB Change Symlink: Reference correct command
sanssecours Jun 9, 2018
4e38b4e
News: Add subentries for plugins, bindings & libs
sanssecours Jun 9, 2018
923b744
News: Add introductory sentences to sections
sanssecours Jun 9, 2018
7bba594
News: Move compatibility section
sanssecours Jun 9, 2018
68bc044
jenkins: port xdg build to new system
ingwinlu Jun 9, 2018
43450f7
jenkins: specify XDG_CONFIG_DIRS to be writable
ingwinlu Jun 9, 2018
142fe9d
Revert "jenkins: specify XDG_CONFIG_DIRS to be writable"
ingwinlu Jun 10, 2018
0457414
jenkins: Use WORKSPACE instead of HOME
ingwinlu Jun 10, 2018
b1450ee
jenkins: set XDG paths for Docker environments
ingwinlu Jun 10, 2018
3ee3c89
jenkins: do not quote paths
ingwinlu Jun 10, 2018
b88f8b3
kdb-set: add line about negative values to usage text
kodebach Jun 4, 2018
1992e12
kdb-set: update other documentation and release notes
kodebach Jun 6, 2018
d198da8
kdb-set: fix documentation
kodebach Jun 10, 2018
259e0c9
Add line describing xdg build
ingwinlu Jun 10, 2018
655a558
haskell-build-fixes: possibly fix dependency installation issue
e1528532 Jun 6, 2018
3ef72c5
haskell-build-fixes: exclude build_static and build_full correctly
e1528532 Jun 6, 2018
339a81f
haskell-build-fixes: update dependencies
e1528532 Jun 6, 2018
f8cd7d5
haskell-build-fixes: add release notes
e1528532 Jun 6, 2018
42f33e5
haskell-build-fixes: reformat
e1528532 Jun 6, 2018
3ac8663
haskell-build-fixes: enforce language-c-0.7.2 as 0.8 fails to parse l…
e1528532 Jun 7, 2018
c4bbb7b
haskell-build-fixes: cleanup travis cache before storing it
e1528532 Jun 7, 2018
d2c2a61
haskell-build-fixes: also mention correct c2hs version in readme
e1528532 Jun 7, 2018
4b20529
haskell-build-fixes: make cache cleanup more reliable
e1528532 Jun 7, 2018
5d33cae
haskell-build-fixes: sanitize unregister cmd in travis file
e1528532 Jun 7, 2018
4c4d90a
haskell-build-fixes: language-c-0.8.1 works now
e1528532 Jun 8, 2018
a86820f
haskell-build-fixes: workaround cache issue
e1528532 Jun 8, 2018
87ccba6
haskell-build-fixes: add complete ONLY_SHARED support into both cmake…
e1528532 Jun 9, 2018
c2d4874
haskell-build-fixes: fix empty array and warning
e1528532 Jun 9, 2018
b652166
haskell-build-fixes: reformat
e1528532 Jun 9, 2018
f951bb4
haskell-build-fixes: disable formatting of cmake variable
e1528532 Jun 9, 2018
4e8b40a
haskell-build-fixes: remove shared only plugins from exported symbols…
e1528532 Jun 10, 2018
d2a358f
haskell-build-fixes: restructure LibAddHaskellPlugin
e1528532 Jun 10, 2018
3a42e9d
haskell-build-fixes: improve description of SHARED_ONLY
e1528532 Jun 10, 2018
4f5b93c
haskell-build-fixes: restructure haskell bindings cmake file
e1528532 Jun 10, 2018
d303c73
haskell-build-fixes: rebase release notes
e1528532 Jun 10, 2018
f77098a
doc: say how to install Elektra
Jun 10, 2018
645a1e3
haskell-build-fixes: document SHARED_ONLY_PLUGINS
e1528532 Jun 10, 2018
21cedcc
haskell-build-fixes: cmake issue when no ONLY_SHARED plugin
e1528532 Jun 10, 2018
022c3b6
haskell-build-fixes: fix wrong path
e1528532 Jun 10, 2018
802b73b
haskell-build-fixes: fix argument name
e1528532 Jun 11, 2018
0380586
haskell-build-fixes: some structural improvements in LibAddHaskellPlugin
e1528532 Jun 11, 2018
58a94f9
haskell-build-fixes: remove head
e1528532 Jun 11, 2018
527ee93
Documentation: Update man pages
sanssecours Jun 11, 2018
95ec254
build: port i386 job to new build system
ingwinlu Jun 5, 2018
e487f67
shell recorder: allow spaces in PATH
Jun 12, 2018
364055d
shared-only-test-fix: exclude SHARED_ONLY plugins from being check wi…
e1528532 Jun 12, 2018
48b80e2
jenkins: stricter logRotator settings to reduce disk usage
ingwinlu Jun 14, 2018
454e98a
doc: add Chef Cookbook highlight
Jun 14, 2018
468106c
build: add STATIC and FULL linked builds
ingwinlu Jun 5, 2018
842193d
doc: remove disabled wheezy package build
ingwinlu Jun 5, 2018
8e6fe97
tests: fix full|static detection
ingwinlu Jun 14, 2018
9345cda
tests: shorten contains function
ingwinlu Jun 15, 2018
c3a6899
network: fix getaddrinfo call
ingwinlu Jun 15, 2018
6f610ca
cframework: add compare_regex_to_line_files
ingwinlu Jun 15, 2018
5f1c43d
scripts: silence reformat error if not found
ingwinlu Jun 15, 2018
4cdad42
fstab: rewrite test to use regex
ingwinlu Jun 15, 2018
cbd103a
simpleini: output message on exclusion
Jun 14, 2018
2381d4b
cmake: fix BUILD_TESTING
Jun 14, 2018
ef83b4b
doc: different ways to add line into sources.list
Jun 16, 2018
51a3292
Build: Do not install Google Test
sanssecours Jun 16, 2018
88e9a72
Release: Add info about Google Test installation
sanssecours Jun 16, 2018
4aec679
Elektra: Core: KeySet: Introduce KS_FLAG_REBUILD_OPMPHM
Jun 13, 2018
b13710a
Elektra: Core: OPMPHM: improvements
Jun 13, 2018
55a32ba
Elektra: Core: OPMPHM: add predictor
Jun 13, 2018
220fb8c
Elektra: Core: OPMPHM: to early predictor testcase
Jun 13, 2018
f82b811
Doc: news: prep next release
Jun 13, 2018
00a8b99
Tests: ctests: OPMPHM change includes + PR feedback changes
Jun 16, 2018
8290a24
crypto, fcrypt: check gpg availability in unit tests
petermax2 Jun 16, 2018
8bf5baf
update release notes
petermax2 Jun 16, 2018
65417bb
update release notes
petermax2 Jun 16, 2018
3270987
crypto, fcrypt: print message if unit test is disabled
petermax2 Jun 16, 2018
a133fc6
crypto, fcrypt: avoid code duplication between unit tests
petermax2 Jun 16, 2018
d5a9d7e
jenkins.daily: force removal of docker images
ingwinlu Jun 17, 2018
4bd699e
jenkins: upload debian packages again
ingwinlu Jun 17, 2018
083e7c7
doc: Add section highlighting where docker image info can be found
ingwinlu Jun 10, 2018
5cbf3c6
doc: add section describing build server configuration
ingwinlu Jun 10, 2018
c40a9c0
doc: mention BUILDSERVER.md in release notes
ingwinlu Jun 10, 2018
d8794ca
jenkins: Add infos to build stages
ingwinlu Jun 10, 2018
aacec2e
jenkins: make image.id easier visible
ingwinlu Jun 10, 2018
27adea2
doc: fix typo beeing -> being
ingwinlu Jun 10, 2018
3139583
doc: add reference to daily buildjob
ingwinlu Jun 10, 2018
3b076ac
doc: remove reference to orphaning strategies as we set it via the je…
ingwinlu Jun 10, 2018
ceb55a2
doc: state that public key auth should be set up
ingwinlu Jun 10, 2018
06fe56d
doc: Add that the user needs to be in the docker group
ingwinlu Jun 10, 2018
d83bef5
jenkins: Better comment for Icheck
ingwinlu Jun 10, 2018
7562b50
jenkins: Clarify comment re gcc + clang
ingwinlu Jun 10, 2018
e074f29
jenkins: Correct spelling of Elektra
ingwinlu Jun 10, 2018
a38e46f
jenkins: issues -> problems
ingwinlu Jun 10, 2018
f891b62
doc: Add sentence explaining what the Jenkins section does
ingwinlu Jun 11, 2018
219cecc
doc: mention the logging output does
ingwinlu Jun 12, 2018
8add12b
doc: fixup jenkins -> Jenkins
ingwinlu Jun 12, 2018
bc6f5e1
doc: Expand/simplify libelektra config section
ingwinlu Jun 12, 2018
b15ad7b
doc: formulate sentence more naturally
ingwinlu Jun 12, 2018
8d0d500
jenkins: specify that ASAN tests use ASAN for memory leak detection
ingwinlu Jun 12, 2018
c2357cf
jenkins: add doc for each image used
ingwinlu Jun 12, 2018
fff6e55
doc: Remove disabled source-package-test
ingwinlu Jun 12, 2018
f1ba15c
jenkins: add second space before comment
ingwinlu Jun 12, 2018
a0e3eae
jenkins: always set KDB_DB_HOME to workspace
ingwinlu Jun 12, 2018
8cef4fb
jenkins: doc enums
ingwinlu Jun 12, 2018
8093df5
jenkins: run buildAndTest with space in path
ingwinlu Jun 12, 2018
3927f0e
jenkins: fuse nokdb test into -full
ingwinlu Jun 12, 2018
9262ae5
jenkins: do not run normal memcheck if nokdb is active
ingwinlu Jun 12, 2018
9c68eb2
fixup: spelling
ingwinlu Jun 12, 2018
6da6741
jenkins: always force print of exception message
ingwinlu Jun 12, 2018
7276a01
jenkins: use mkdir -p
ingwinlu Jun 12, 2018
c4cb132
jenkins: do not fail on empty archive
ingwinlu Jun 12, 2018
2108636
jenkins: run source formatting checks early
ingwinlu Jun 12, 2018
68fa7d8
jenkins: do not use hardcoded path
ingwinlu Jun 12, 2018
f800d25
jenkins: reuse exiting test case for format checks
ingwinlu Jun 12, 2018
cfcb979
jenkins: fixup spelling
ingwinlu Jun 12, 2018
b1001c3
jenkins: failFast during main stage
ingwinlu Jun 12, 2018
8fff945
jenkins: do not fail when coverage does not exist
ingwinlu Jun 12, 2018
2678c8a
jenkins: do not test if file exists
ingwinlu Jun 12, 2018
6556f44
jenkins: fix typo
ingwinlu Jun 12, 2018
c17dab0
jenkins: reorder logic for tests
ingwinlu Jun 13, 2018
e939fc9
jenkins: add default value to cmemcheck
ingwinlu Jun 13, 2018
48710bd
jenkins: allow pattern to be specified for xunitUpload helper
ingwinlu Jun 13, 2018
585b24d
jenkins: allow specification of coverage report directory
ingwinlu Jun 13, 2018
f68fa17
jenkins: define buildDir earlier
ingwinlu Jun 13, 2018
3fdf077
doc: mention nokdb test removal
ingwinlu Jun 13, 2018
31f6d8f
doc: mention source formatting checks
ingwinlu Jun 13, 2018
b8e2cc5
doc: document replacement of withspace test
ingwinlu Jun 13, 2018
8758a62
doc: fixup missing .
ingwinlu Jun 13, 2018
e917aec
doc: fixup nokdb
ingwinlu Jun 13, 2018
56520ae
jenkins: Reduce NODEP build count
ingwinlu Jun 13, 2018
a83979d
jenkins: fix missing end comment marker
ingwinlu Jun 13, 2018
e55cea6
jenkins: speed up coverage upload
ingwinlu Jun 13, 2018
06a14b5
jenkins: fix an issue with spaces in source directory
ingwinlu Jun 13, 2018
1042bf7
jenkins: change into basedir before running cmds
ingwinlu Jun 13, 2018
94bd890
jenkins: auto testresult upload respects buildDir
ingwinlu Jun 13, 2018
6a68f84
jenkins: remove comment that no longer is true
ingwinlu Jun 13, 2018
b7a7aeb
script: make reformat-cmake not dependend on 'build' dir
ingwinlu Jun 13, 2018
6cec9a4
script: use -path instead of -regex
ingwinlu Jun 13, 2018
6a4ef18
jenkins: reenable optimizations-off build
ingwinlu Jun 13, 2018
8fa9212
docker: remove moreutils+pip from stretch
ingwinlu Jun 14, 2018
12a9572
jenkins: port musl build
ingwinlu Jun 13, 2018
18a0abf
debug: add VERBOSE to musl build
ingwinlu Jun 14, 2018
cce7149
jenkins: replace musl build with alpine
ingwinlu Jun 15, 2018
993a922
jenkins: also build static on alpine
ingwinlu Jun 15, 2018
b0a38e3
fixup: spelling
ingwinlu Jun 15, 2018
c11afea
jenkins: simplify ensureDirsExist
ingwinlu Jun 15, 2018
d6a07c2
jenkins: escape path during archive
ingwinlu Jun 15, 2018
3d9993b
alpine: install bash
ingwinlu Jun 16, 2018
966bcd8
jenkins: do not build date and fcrypt
ingwinlu Jun 16, 2018
8565e66
check_kdb_internal_check: print useful stuff
ingwinlu Jun 16, 2018
4f65cbf
check_kdb_internal_check: add braces
ingwinlu Jun 16, 2018
d78cfa7
jenkins: cleanup TODO
ingwinlu Jun 17, 2018
2ea815e
jenkins: reformat to 2 space indent
ingwinlu Jun 17, 2018
a4f0704
alpine: disable kdb testing
ingwinlu Jun 17, 2018
7a25de0
cmake: add_plugin now respects ENABLE_KDB_TESTING
ingwinlu Jun 17, 2018
844389a
ctest: use nftw if available to clean up
ingwinlu Jun 17, 2018
1b68b06
apple: set -D_DARWIN_C_SOURCE globally
ingwinlu Jun 17, 2018
a690ddc
cmake: add comment for readability
ingwinlu Jun 17, 2018
6a103bf
cmake: add missing ws
ingwinlu Jun 17, 2018
88371a3
cframework: do not disable cframework
ingwinlu Jun 17, 2018
bcd5417
fcrypt: consider the environment (TMPDIR) when looking for the tempor…
petermax2 Jun 17, 2018
854e31d
cmake: Do not set test feature automatically
ingwinlu Jun 17, 2018
b33d24c
fcrypt: consider TMP, TEMP, TEMPDIR for finding the temporary directory
petermax2 Jun 17, 2018
b79be05
jenkins: escape buildDir
ingwinlu Jun 18, 2018
6f65a5b
Revert "jenkins: escape buildDir"
ingwinlu Jun 18, 2018
7293fb3
jenkins: fix archivation
ingwinlu Jun 18, 2018
0fbd51d
Revert "fcrypt: consider TMP, TEMP, TEMPDIR for finding the temporary…
petermax2 Jun 18, 2018
9117cd2
doc: clean non active triggers
ingwinlu Jun 18, 2018
3ced341
fcrypt: fix compiler warning
petermax2 Jun 18, 2018
9daccda
add changelog for elektra web 1.5
omnidan Jun 18, 2018
1eac23c
remove debug messages
omnidan Jun 18, 2018
636dfe4
implement renaming keys
omnidan Jun 18, 2018
9ac89e0
get rid of linter warnings
omnidan Jun 18, 2018
48f29b2
Merge branch 'master' into elektra-web1.5
omnidan Jun 18, 2018
d7be28b
remove dockerfile from this PR
omnidan Jun 18, 2018
9545426
add elektra web 1.5 video to release notes
omnidan Jun 19, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions doc/api_blueprints/elektrad.apib
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,26 @@ delete a key (and all its subkeys) - works like `kdb rm -r`
+ path: `user/hello` (string) - path to the elektra config

+ Response 200

+ Response 400 (application/json; charset=utf-8)
+ Attributes (Error)


## find keys [GET /kdbFind/{+query}]

+ Request (application/json)
+ Parameters
+ query: `hello` (string) - search query

+ Response 200 (application/json; charset=utf-8)
+ Body

[
"user/hello",
"user/helloWorld"
]


## metakeys [/kdbMeta/{+path}]

### create metakey [POST]
Expand Down Expand Up @@ -114,7 +129,7 @@ delete a key (and all its subkeys) - works like `kdb rm -r`
+ Attributes (Error)


## Move operation [POST /kdbMv/{+from}]
## move operation [POST /kdbMv/{+from}]

move a key (and all its subkeys) to a new path - works like `kdb mv -r`

Expand All @@ -132,7 +147,7 @@ move a key (and all its subkeys) to a new path - works like `kdb mv -r`
+ Attributes (Error)


## Copy operation [POST /kdbCp/{+from}]
## copy operation [POST /kdbCp/{+from}]

copy a key (and all its subkeys) to a new path - works like `kdb cp -r`

Expand Down
20 changes: 18 additions & 2 deletions doc/api_blueprints/webd.apib
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,22 @@ delete the key (and all its subkeys) on the specified `path` from the elektra ke
+ Response 404


## find keys [GET /api/instances/{instance_id}/kdbFind/{+query}]

+ Request (application/json)
+ Parameters
+ instance_id: `46a288ae-7475-4cdd-a04c-3826c9a4b5f5` (string) - id of an instance
+ query: `hello` (string) - search query

+ Response 200 (application/json; charset=utf-8)
+ Body

[
"user/hello",
"user/helloWorld"
]


## metakeys [/api/instances/{instance_id}/kdbMeta/{+path}]

### create metakey [POST]
Expand Down Expand Up @@ -204,7 +220,7 @@ delete the key (and all its subkeys) on the specified `path` from the elektra ke
+ Attributes (Error)


## Move operation [POST /api/instances/{instance_id}/kdbMv/{+from}]
## move operation [POST /api/instances/{instance_id}/kdbMv/{+from}]

move a key (and all its subkeys) to a new path - works like `kdb mv -r`

Expand All @@ -223,7 +239,7 @@ move a key (and all its subkeys) to a new path - works like `kdb mv -r`
+ Attributes (Error)


## Copy operation [POST /api/instances/{instance_id}/kdbCp/{+from}]
## copy operation [POST /api/instances/{instance_id}/kdbCp/{+from}]

copy a key (and all its subkeys) to a new path - works like `kdb cp -r`

Expand Down
24 changes: 21 additions & 3 deletions doc/news/_preparation_next_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ You can also read the news [on our website](https://www.libelektra.org/news/0.8.

- Type system preview
- Chef Cookbook
- <<HIGHLIGHT3>>
- Elektra Web 1.5


### Type system preview
Expand Down Expand Up @@ -96,10 +96,28 @@ end

Thanks to Michael Zronek and Vanessa Kos.

### <<HIGHLIGHT2>>

### Elektra Web 1.5

The new release of Elektra Web features many UX improvements from the usability test!

[![Elektra Web 1.5 video](https://img.youtube.com/vi/lLg9sk6Hx-E/0.jpg)](https://www.youtube.com/watch?v=lLg9sk6Hx-E)

Try it out now on: http://webui.libelektra.org:33334/

- search completely reworked - it does not act as a filter on already opened keys anymore, and instead searches the whole key database - feedback from the search was also greatly improved (pulsating while searching, glowing blue when done)
- added "abort" buttons to dialogs to revert actions
- added "create array" button to easily create arrays
- removed confirmation dialog before deletion (undo can be used instead)
- created a docker image: `elektra/web`
- small fixes:
- updated visibility levels
- removed "done" button in main view
- fixed issues with the opener click area
- remove metakeys when they are set to the default value or empty/0
- improved keyboard support
- fixed many small issues (#2037)

### <<HIGHLIGHT2>>


## Plugins
Expand Down
82 changes: 82 additions & 0 deletions src/tools/web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ To build Elektra with the elektra-web tool:
* You can now access the client on: [http://localhost:33334](http://localhost:33334)


## Getting started (docker)

* Create and run a new docker container: `docker run -d -it -p 33333:33333 -p 33334:33334 elektra/web`
* You can now access the client on: [http://localhost:33334](http://localhost:33334)


## Running from source

* Install dependencies (see above)
Expand Down Expand Up @@ -153,3 +159,79 @@ authenticate users, e.g. by [username/password auth](https://www.digitalocean.co
- `src/containers/` - contains components that are connected to Redux
- `src/css/` - contains CSS styles
- `src/reducers/` - contains Redux reducers (used to process actions)


## Development Guides

### Updating dependencies

Lockfiles (`package-lock.json`) can be updated by simply deleting the current
lock file and running `npm install`, which creates a new lock file.

Check for outdated dependencies via `npm outdated`. Dependencies can then be
updated by running `npm update`.

### Building docker image

Run the following command in the `scripts/docker/web/` directory, replacing `1.5.0` with the latest version:

```
docker build -t elektra/web:1.5.0 -t elektra/web:latest .
```

Test the image:

```
docker run -d -it -p 33333:33333 -p 33334:33334 elektra/web:1.5.0
```

Publish it to the docker registry:

```
docker push elektra/web:1.5.0
```

### Adding support for new metadata

- Create a new sub dialog by, for example, copying the `NumberSubDialog.jsx`
file (or similar) to a new file in the
`client/src/components/TreeItem/dialogs` folder.

- Include the sub dialog by adding it to the `SettingsDialog.jsx` file in the
same folder. For example, it could be added before the
AdditionalMetakeysSubDialog at the end of the file:

```diff
+ <NewSubDialog
+ onChange={this.handleEdit('check/something')}
+ value={this.getMeta('check/something', '')}
+ saved={this.getSaved('check/something')}
+ />
<AdditionalMetakeysSubDialog
handleEdit={this.handleEdit.bind(this)}
getMeta={this.getMeta.bind(this)}
getSaved={this.getSaved.bind(this)}
meta={this.props.meta}
deleteMeta={this.props.deleteMeta}
/>
</FocusTrapDialog>
```

- Mark the meta keys as handled by adding them to the `HANDLED_METADATA` array
in `client/src/components/TreeItem/dialogs/utils.js`:

```diff
export const HANDLED_METADATA = [
...,
'visibility',
'binary',
+ 'check/something',
]
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And then, how to do validation or similar?


- Validation can then be added by handling metadata in the
`client/src/components/TreeItem/fields/validateType.js` file to the
`validateType` function.

- Rendering fields in a special way when certain metakeys are present can be
done by adjusting the `renderSpecialValue` function in the `client/src/components/TreeItem/index.js` file.
8 changes: 0 additions & 8 deletions src/tools/web/client/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion src/tools/web/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
"react-redux": "^5.0.6",
"react-router-dom": "^4.2.2",
"react-scripts": "1.0.17",
"react-tap-event-plugin": "^3.0.2",
"redux": "^3.7.2",
"redux-logger": "^3.0.6",
"redux-promises": "^1.0.0",
Expand Down
18 changes: 7 additions & 11 deletions src/tools/web/client/public/folded.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/tools/web/client/src/actions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,9 @@ export * from './instances'
export * from './container'
export * from './kdb'
export * from './notification'

export const RESET_BATCH_UNDO = 'RESET_BATCH_UNDO'

export const resetBatchUndo = () => {
return { type: RESET_BATCH_UNDO }
}
28 changes: 28 additions & 0 deletions src/tools/web/client/src/actions/kdb.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,34 @@ export const deleteKey = (id, path) => thunkCreator({

// ~~~

export const FIND_KEY_REQUEST = 'FIND_KEY_REQUEST'
export const FIND_KEY_SUCCESS = 'FIND_KEY_SUCCESS'
export const FIND_KEY_FAILURE = 'FIND_KEY_FAILURE'

export const findKey = (id, query) => thunkCreator({
id, query,
request: { id, query },
types: [FIND_KEY_REQUEST, FIND_KEY_SUCCESS, FIND_KEY_FAILURE],
promise: fetch(
`/api/instances/${id}/kdbFind/${encodeURIComponent(query)}`,
{ credentials: 'same-origin' }
)
.then(parseJSONResponse)
.then(result => {
return { result, id, query }
}),
})

export const CLEAR_SEARCH = 'CLEAR_SEARCH'
export const CLEAR_SEARCH_FINAL = 'CLEAR_SEARCH_FINAL'

export const clearSearch = () => dispatch => {
dispatch({ type: CLEAR_SEARCH })
setTimeout(() => dispatch({ type: CLEAR_SEARCH_FINAL }), 200)
}

// ~~~

export const MOVE_KEY_REQUEST = 'MOVE_KEY_REQUEST'
export const MOVE_KEY_SUCCESS = 'MOVE_KEY_SUCCESS'
export const MOVE_KEY_FAILURE = 'MOVE_KEY_FAILURE'
Expand Down
6 changes: 3 additions & 3 deletions src/tools/web/client/src/components/CreateInstanceCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ export default class CreateInstanceCard extends React.Component {
</div>
<div style={{ flex: 1 }}>
<i>If elektrad is running on the same machine, host is: </i>
<code>http://127.0.0.1:33333</code>
<code>http://localhost:33333</code>
</div>
</div>
<div style={{ display: 'flex', marginTop: 16 }}>
Expand Down Expand Up @@ -155,13 +155,13 @@ export default class CreateInstanceCard extends React.Component {
<FlatButton
label="add"
primary={true}
onTouchTap={this.handleCreate}
onClick={this.handleCreate}
disabled={nameEmpty || hostEmpty || hostError}
/>
{!noInstancesYet &&
<FlatButton
label="cancel"
onTouchTap={() => {
onClick={() => {
unaddInstance()
this.resetValues()
}}
Expand Down
7 changes: 6 additions & 1 deletion src/tools/web/client/src/components/ErrorSnackbar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,14 @@ export default class ErrorSnackbar extends React.Component {
}

const actions = [
<FlatButton
label="report issue"
onClick={() => window.open('http://issues.libelektra.org/new', '_blank')}
/>,
<FlatButton
label="dismiss"
primary={true}
onTouchTap={this.handleClose}
onClick={this.handleClose}
/>,
]

Expand All @@ -65,6 +69,7 @@ export default class ErrorSnackbar extends React.Component {
onRequestClose={() => {/* do nothing */}}
action={action}
onActionClick={onClick}
className="errorSnackbar"
/>,
<Dialog
actions={actions}
Expand Down
6 changes: 3 additions & 3 deletions src/tools/web/client/src/components/InstanceCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ export default class InstanceCard extends React.Component {
</div>
<div style={{ flex: 1 }}>
<i>If elektrad is running on the same machine, host is: </i>
<code>http://127.0.0.1:33333</code>
<code>http://localhost:33333</code>
</div>
</div>
<div style={{ display: 'flex', marginTop: 16 }}>
Expand Down Expand Up @@ -181,7 +181,7 @@ export default class InstanceCard extends React.Component {
<FlatButton
label="save"
primary={true}
onTouchTap={this.handleCreate}
onClick={this.handleCreate}
disabled={!!(id === 'my' || nameEmpty || hostEmpty || hostError)}
/>
<Link tabIndex="-1" to={'/instances/' + id}>
Expand All @@ -190,7 +190,7 @@ export default class InstanceCard extends React.Component {
<FlatButton
label="delete"
secondary={true}
onTouchTap={this.handleDelete}
onClick={this.handleDelete}
disabled={id === 'my'}
/>
</div>
Expand Down
Loading