eXistdb Package for the Atom Editor

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

eXistdb Package for the Atom Editor

Wolfgang Meier-2
This has been around for a while, but it was recently brought to my attention that many users don't know it exists: the eXistdb (https://atom.io/packages/existdb) package for the Atom (https://atom.io/) editor was just released in version 0.4.1. Atom is a highly configurable, cross-platform text editor, which can be extended with thousands of user contributed packages.

The eXistdb package for Atom adds most of the functionality you know from eXide, including XQuery linting (via xqlint), function and variable autocompletion, code navigation, a database browser, variable refactoring, code templates, and more. Unlike eXide it supports two different workflows for developing eXist apps:

1. all files stored within the database
2. work on a file system directory and have all changes synchronized into eXist automatically (now my preferred option)

The package is considered stable and easy to install:

1. install Atom for your platform
2. open the Preferences page
3. select "Install", search for the "existdb" package and install it

All code is available on github under an MIT license (https://github.com/wolfgangmm/atom-existdb) and contributions are welcome.

Cheers,

Wolfgang

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: eXistdb Package for the Atom Editor

Joern Turner-4
maybe just an additional remark.

If you're not familiar with Atom ... to see all the options the existdb plugin provides please look into menu 'Packages' and choose 'existdb'. When choosing 'toggle database view' you'll be asked to install the server-side support app. Confirm that to get going.



On Mon, Feb 20, 2017 at 11:10 AM, Wolfgang Meier <[hidden email]> wrote:
This has been around for a while, but it was recently brought to my attention that many users don't know it exists: the eXistdb (https://atom.io/packages/existdb) package for the Atom (https://atom.io/) editor was just released in version 0.4.1. Atom is a highly configurable, cross-platform text editor, which can be extended with thousands of user contributed packages.

The eXistdb package for Atom adds most of the functionality you know from eXide, including XQuery linting (via xqlint), function and variable autocompletion, code navigation, a database browser, variable refactoring, code templates, and more. Unlike eXide it supports two different workflows for developing eXist apps:

1. all files stored within the database
2. work on a file system directory and have all changes synchronized into eXist automatically (now my preferred option)

The package is considered stable and easy to install:

1. install Atom for your platform
2. open the Preferences page
3. select "Install", search for the "existdb" package and install it

All code is available on github under an MIT license (https://github.com/wolfgangmm/atom-existdb) and contributions are welcome.

Cheers,

Wolfgang

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: eXistdb Package for the Atom Editor

Joe Wicentowski
Thanks so much for announcing this, Wolfgang!  I've been following
your development of it and have enjoyed using it.  I still work
primarily in eXide and oXygen (each with its own strengths) and so
can't say I've fully switched over to Atom for XQuery and eXist app
development.

I find the eXist package for Atom has some really nice advantages over
eXide, particularly once you get through the setup and figure out the
windows, menus, .existdb.json configuration file, etc.:

1. The XQuery code completion is lightning fast, the syntax
highlighting is rock solid (it can be flaky in ace), and the whole
thing feels so much snappier than the browser window.
2. The ability to edit directly on the filesystem and sync changes up
to the database helps make sure my edits are caught by my git client,
instead of mistakenly forgotten in the database.
3. Unlike a typical text editor app, the integrated database browser
and ability to submit queries and see results from within the editor
is really nice. The query results appear immediately, since they're
directly serialized to Atom instead of first "pretty-printed" with
XQuery before being displayed.

I find myself missing a few features from eXide:

1. The "New XQuery" button, which lets me open a window and type a
quick query. Atom treats new files as generic text files. The only way
to get XQuery-specific linting and code completion is to (a) save the
file as a .xq file or (b) select Edit > Select Grammar > XQuery (which
only gets you syntax highlighting and not linting, it seems). This is
what still makes eXide the winner for the "quick query": open it, type
a query into the blank editor or hit "new xquery", and you're off.
2. XML tag completion in XQuery mode (e.g., type `<x></` and eXide
auto-closes the 'x' element.
3. eXide's File Manager (esp, the ability to drag-and-drop to upload
files/folders, change permissions, and rename resources and
collections)
4. The ability to page through results 10 at a time. For example, in
Atom `(1 to 100) ! <x>{.}</x>` returns only items 1-10 without a pair
of buttons to advance to the next/previous 10 results. I imagine
adding UI elements like this to Atom might be tough, but perhaps this
could be exposed as a command and thus reachable via keyboard
shortcut?
5. Adaptive serialization mode in the query results windows. I bet
this would be easy to replicate and much better than eXide if eXist
added this serialization method (since, again, it would be directly
serialized and not pretty-printed with XQuery).
6. The database browser window's width isn't persistent, so it jumps
around quite a bit as you navigate. It would also be nice to make this
window navigable by keyboard in the same way the Project Folder pane
is.
7. Navigate > "Go to/import module" (for looking up and importing
modules saved in the database) and eXide's ability to suggest full
module import statements. For example, in eXide, if you invoke
`console:log()` without first importing the module, you can click on
the warning indicator, and it'll produce the full module import
statement.
8. XQuery > "Format code" was a nice way to take randomly
indented/formatted XQuery and impose some order.

Am I right that you envision the best of eXide being ported over to
Atom?  I can see the lure!

By chance, I noticed you had posted the same info on the eXist blog -
http://exist-db.org/exist/apps/wiki/blogs/eXist/atom-existdb.  This
reminds me: I've actually often missed eXist-related posts - even
those on eXist-db.org's own blog!  I'd encourage the developers and
everyone to please notify exist-open of any eXist-related articles and
resources, and to please include the URL.  This facilitates spreading
the word via Twitter.

(I know RSS and Atom feed readers are a nice way to keep up with the
latest postings from blogs, but for some reason my feed reader,
feedbin, doesn't like the atomic wiki's feed. There seem to be some
validation issues?
https://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fexist-db.org%2Fexist%2Fapps%2Fwiki%2Fatom%2Fblogs%2FeXist%2F
.)

Joe

On Mon, Feb 20, 2017 at 5:27 AM, Joern Turner <[hidden email]> wrote:

> maybe just an additional remark.
>
> If you're not familiar with Atom ... to see all the options the existdb
> plugin provides please look into menu 'Packages' and choose 'existdb'. When
> choosing 'toggle database view' you'll be asked to install the server-side
> support app. Confirm that to get going.
>
>
>
> On Mon, Feb 20, 2017 at 11:10 AM, Wolfgang Meier <[hidden email]>
> wrote:
>>
>> This has been around for a while, but it was recently brought to my
>> attention that many users don't know it exists: the eXistdb
>> (https://atom.io/packages/existdb) package for the Atom (https://atom.io/)
>> editor was just released in version 0.4.1. Atom is a highly configurable,
>> cross-platform text editor, which can be extended with thousands of user
>> contributed packages.
>>
>> The eXistdb package for Atom adds most of the functionality you know from
>> eXide, including XQuery linting (via xqlint), function and variable
>> autocompletion, code navigation, a database browser, variable refactoring,
>> code templates, and more. Unlike eXide it supports two different workflows
>> for developing eXist apps:
>>
>> 1. all files stored within the database
>> 2. work on a file system directory and have all changes synchronized into
>> eXist automatically (now my preferred option)
>>
>> The package is considered stable and easy to install:
>>
>> 1. install Atom for your platform
>> 2. open the Preferences page
>> 3. select "Install", search for the "existdb" package and install it
>>
>> All code is available on github under an MIT license
>> (https://github.com/wolfgangmm/atom-existdb) and contributions are welcome.
>>
>> Cheers,
>>
>> Wolfgang
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Exist-open mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Exist-open mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/exist-open
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: eXistdb Package for the Atom Editor

Adam Retter
> By chance, I noticed you had posted the same info on the eXist blog -
> http://exist-db.org/exist/apps/wiki/blogs/eXist/atom-existdb.  This
> reminds me: I've actually often missed eXist-related posts - even
> those on eXist-db.org's own blog!  I'd encourage the developers and
> everyone to please notify exist-open of any eXist-related articles and
> resources, and to please include the URL.  This facilitates spreading
> the word via Twitter.

Likewise I am often surprised when I stumble upon articles there that
have been posted months before. I would also encourage whoever writes
the article to submit it to the following sites:

Hacker News - https://news.ycombinator.com/submit
StumbleUpon - http://www.stumbleupon.com/submit
Reddit - https://www.reddit.com/submit
You might also consider submitting it to the revamped xml.com as they
are looking for content.


--
Adam Retter

eXist Developer
{ United Kingdom }
[hidden email]
irc://irc.freenode.net/existdb

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: eXistdb Package for the Atom Editor

Martin Holmes
In reply to this post by Joe Wicentowski
I tried this out and really liked it too. I really don't like the fact
that it stores the admin password in a json file on your drive, though;
is there a way to have it ask for the password at the beginning of a
session and keep it in memory, but not store it on the disk?

I would really like to be able to edit a local copy in my repo and have
it synced to an eXist instance automatically, but I don't typically have
the files in my repo organized the way they end up being organized when
the XAR is built (since I'm building other output from the same data);
it would also be nice to be able to specify mappings on a
folder-by-folder basis.

Cheers,
Martin

On 2017-02-21 12:52 AM, Joe Wicentowski wrote:

> Thanks so much for announcing this, Wolfgang!  I've been following
> your development of it and have enjoyed using it.  I still work
> primarily in eXide and oXygen (each with its own strengths) and so
> can't say I've fully switched over to Atom for XQuery and eXist app
> development.
>
> I find the eXist package for Atom has some really nice advantages over
> eXide, particularly once you get through the setup and figure out the
> windows, menus, .existdb.json configuration file, etc.:
>
> 1. The XQuery code completion is lightning fast, the syntax
> highlighting is rock solid (it can be flaky in ace), and the whole
> thing feels so much snappier than the browser window.
> 2. The ability to edit directly on the filesystem and sync changes up
> to the database helps make sure my edits are caught by my git client,
> instead of mistakenly forgotten in the database.
> 3. Unlike a typical text editor app, the integrated database browser
> and ability to submit queries and see results from within the editor
> is really nice. The query results appear immediately, since they're
> directly serialized to Atom instead of first "pretty-printed" with
> XQuery before being displayed.
>
> I find myself missing a few features from eXide:
>
> 1. The "New XQuery" button, which lets me open a window and type a
> quick query. Atom treats new files as generic text files. The only way
> to get XQuery-specific linting and code completion is to (a) save the
> file as a .xq file or (b) select Edit > Select Grammar > XQuery (which
> only gets you syntax highlighting and not linting, it seems). This is
> what still makes eXide the winner for the "quick query": open it, type
> a query into the blank editor or hit "new xquery", and you're off.
> 2. XML tag completion in XQuery mode (e.g., type `<x></` and eXide
> auto-closes the 'x' element.
> 3. eXide's File Manager (esp, the ability to drag-and-drop to upload
> files/folders, change permissions, and rename resources and
> collections)
> 4. The ability to page through results 10 at a time. For example, in
> Atom `(1 to 100) ! <x>{.}</x>` returns only items 1-10 without a pair
> of buttons to advance to the next/previous 10 results. I imagine
> adding UI elements like this to Atom might be tough, but perhaps this
> could be exposed as a command and thus reachable via keyboard
> shortcut?
> 5. Adaptive serialization mode in the query results windows. I bet
> this would be easy to replicate and much better than eXide if eXist
> added this serialization method (since, again, it would be directly
> serialized and not pretty-printed with XQuery).
> 6. The database browser window's width isn't persistent, so it jumps
> around quite a bit as you navigate. It would also be nice to make this
> window navigable by keyboard in the same way the Project Folder pane
> is.
> 7. Navigate > "Go to/import module" (for looking up and importing
> modules saved in the database) and eXide's ability to suggest full
> module import statements. For example, in eXide, if you invoke
> `console:log()` without first importing the module, you can click on
> the warning indicator, and it'll produce the full module import
> statement.
> 8. XQuery > "Format code" was a nice way to take randomly
> indented/formatted XQuery and impose some order.
>
> Am I right that you envision the best of eXide being ported over to
> Atom?  I can see the lure!
>
> By chance, I noticed you had posted the same info on the eXist blog -
> http://exist-db.org/exist/apps/wiki/blogs/eXist/atom-existdb.  This
> reminds me: I've actually often missed eXist-related posts - even
> those on eXist-db.org's own blog!  I'd encourage the developers and
> everyone to please notify exist-open of any eXist-related articles and
> resources, and to please include the URL.  This facilitates spreading
> the word via Twitter.
>
> (I know RSS and Atom feed readers are a nice way to keep up with the
> latest postings from blogs, but for some reason my feed reader,
> feedbin, doesn't like the atomic wiki's feed. There seem to be some
> validation issues?
> https://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fexist-db.org%2Fexist%2Fapps%2Fwiki%2Fatom%2Fblogs%2FeXist%2F
> .)
>
> Joe
>
> On Mon, Feb 20, 2017 at 5:27 AM, Joern Turner <[hidden email]> wrote:
>> maybe just an additional remark.
>>
>> If you're not familiar with Atom ... to see all the options the existdb
>> plugin provides please look into menu 'Packages' and choose 'existdb'. When
>> choosing 'toggle database view' you'll be asked to install the server-side
>> support app. Confirm that to get going.
>>
>>
>>
>> On Mon, Feb 20, 2017 at 11:10 AM, Wolfgang Meier <[hidden email]>
>> wrote:
>>>
>>> This has been around for a while, but it was recently brought to my
>>> attention that many users don't know it exists: the eXistdb
>>> (https://atom.io/packages/existdb) package for the Atom (https://atom.io/)
>>> editor was just released in version 0.4.1. Atom is a highly configurable,
>>> cross-platform text editor, which can be extended with thousands of user
>>> contributed packages.
>>>
>>> The eXistdb package for Atom adds most of the functionality you know from
>>> eXide, including XQuery linting (via xqlint), function and variable
>>> autocompletion, code navigation, a database browser, variable refactoring,
>>> code templates, and more. Unlike eXide it supports two different workflows
>>> for developing eXist apps:
>>>
>>> 1. all files stored within the database
>>> 2. work on a file system directory and have all changes synchronized into
>>> eXist automatically (now my preferred option)
>>>
>>> The package is considered stable and easy to install:
>>>
>>> 1. install Atom for your platform
>>> 2. open the Preferences page
>>> 3. select "Install", search for the "existdb" package and install it
>>>
>>> All code is available on github under an MIT license
>>> (https://github.com/wolfgangmm/atom-existdb) and contributions are welcome.
>>>
>>> Cheers,
>>>
>>> Wolfgang
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Exist-open mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Exist-open mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Exist-open mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/exist-open
Loading...