issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 26
- Documentation with recommendations on running Datasette in production without using Docker 26
- Ability for a canned query to write to the database 26
- Redesign register_output_renderer callback 24
- Datasette Plugins 22
- "flash messages" mechanism 20
- Handle spatialite geometry columns better 19
- Facets 16
- Support "allow" block on root, databases and tables, not just queries 16
- Bug: Sort by column with NULL in next_page URL 15
- Support cross-database joins 15
- The ".upsert()" method is misnamed 15
- --dirs option for scanning directories for SQLite databases 15
- Document (and reconsider design of) Database.execute() and Database.execute_against_connection_in_thread() 15
- latest.datasette.io is no longer updating 15
- Ability to customize presentation of specific columns in HTML view 14
- Allow plugins to define additional URL routes and views 14
- Mechanism for customizing the SQL used to select specific columns in the table view 14
- .execute_write() and .execute_write_fn() methods on Database 14
- Upload all my photos to a secure S3 bucket 14
- Canned query permissions mechanism 14
- Dockerfile should build more recent SQLite with FTS5 and spatialite support 13
- Fix all the places that currently use .inspect() data 13
- Mechanism for adding arbitrary pages like /about 13
- Import machine-learning detected labels (dog, llama etc) from Apple Photos 13
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
641908346 | https://github.com/simonw/datasette/issues/394#issuecomment-641908346 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDY0MTkwODM0Ng== | wragge 127565 | 2020-06-10T10:22:54Z | 2020-06-10T10:22:54Z | CONTRIBUTOR | There's a working demo here: https://github.com/wragge/datasette-test And if you want something that's more than just proof-of-concept, here's a notebook which does some harvesting from web archives and then displays the results using Datasette: https://nbviewer.jupyter.org/github/GLAM-Workbench/web-archives/blob/master/explore_presentations.ipynb |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url configuration setting 396212021 | |
641889565 | https://github.com/simonw/datasette/issues/394#issuecomment-641889565 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDY0MTg4OTU2NQ== | LVerneyPEReN 58298410 | 2020-06-10T09:49:34Z | 2020-06-10T09:49:34Z | NONE | Hi, I came across this issue while looking for a way to spawn Datasette as a SQLite files viewer in JupyterLab. I found https://github.com/simonw/jupyterserverproxy-datasette-demo which seems to be the most up to date proof of concept, but it seems to be failing to list the available db (at least in the Binder demo, https://hub.gke.mybinder.org/user/simonw-jupyters--datasette-demo-uw4dmlnn/datasette/, I only have Does anyone tried to improve on this proof of concept to have a Datasette visualization for SQLite files? Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url configuration setting 396212021 | |
641713087 | https://github.com/simonw/datasette/issues/828#issuecomment-641713087 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMzA4Nw== | simonw 9599 | 2020-06-10T04:28:17Z | 2020-06-10T04:28:17Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | ||
641710745 | https://github.com/simonw/datasette/issues/828#issuecomment-641710745 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMDc0NQ== | simonw 9599 | 2020-06-10T04:19:31Z | 2020-06-10T04:19:31Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | ||
641710670 | https://github.com/simonw/datasette/issues/828#issuecomment-641710670 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMDY3MA== | simonw 9599 | 2020-06-10T04:19:17Z | 2020-06-10T04:19:17Z | OWNER | This CSS seems to fix it:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | |
641637696 | https://github.com/simonw/datasette/issues/806#issuecomment-641637696 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYzNzY5Ng== | simonw 9599 | 2020-06-09T23:46:00Z | 2020-06-09T23:46:00Z | OWNER | The issues that should be referenced from this release are: 395, #519, #576, #699, #706, #774, #777, #781, #784, #788, #790, #797, #798, #800, #802, #804, #819, #822 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641634749 | https://github.com/simonw/datasette/issues/806#issuecomment-641634749 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYzNDc0OQ== | simonw 9599 | 2020-06-09T23:34:52Z | 2020-06-09T23:34:52Z | OWNER | Preview of the release notes is now available here: https://datasette.readthedocs.io/en/latest/changelog.html#v0-44 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641616185 | https://github.com/simonw/datasette/issues/795#issuecomment-641616185 | https://api.github.com/repos/simonw/datasette/issues/795 | MDEyOklzc3VlQ29tbWVudDY0MTYxNjE4NQ== | simonw 9599 | 2020-06-09T22:33:33Z | 2020-06-09T22:33:33Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
response.set_cookie() method 629541395 | ||
641616060 | https://github.com/simonw/datasette/issues/826#issuecomment-641616060 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTYxNjA2MA== | simonw 9599 | 2020-06-09T22:33:12Z | 2020-06-09T22:33:12Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | ||
641604210 | https://github.com/simonw/datasette/issues/806#issuecomment-641604210 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwNDIxMA== | simonw 9599 | 2020-06-09T21:59:33Z | 2020-06-09T22:00:11Z | OWNER | AWS IAM uses action and resource terminology: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html - I think that's where I got that language:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641603457 | https://github.com/simonw/datasette/issues/806#issuecomment-641603457 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwMzQ1Nw== | simonw 9599 | 2020-06-09T21:57:32Z | 2020-06-09T21:57:32Z | OWNER | operation, procedure, process as alternative words for those menu items? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641602794 | https://github.com/simonw/datasette/issues/806#issuecomment-641602794 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwMjc5NA== | simonw 9599 | 2020-06-09T21:55:45Z | 2020-06-09T21:55:45Z | OWNER | Last-minute thought: Should I worry about calling permissions "actions", when I have an idea for a future plugin hook that allows plugins to add something I was going to call "actions" to database, table and row pages? Those actions would take the form of menu item commands that Do Something to the selected object. If I use "actions" to mean permission names, will I be able to find a good alternative name for these dynamic menu items? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641538982 | https://github.com/simonw/datasette/issues/804#issuecomment-641538982 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUzODk4Mg== | simonw 9599 | 2020-06-09T20:01:30Z | 2020-06-09T20:01:30Z | OWNER | Now fully documented here: https://datasette.readthedocs.io/en/latest/contributing.html#setting-up-a-development-environment |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641538799 | https://github.com/simonw/datasette/issues/804#issuecomment-641538799 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUzODc5OQ== | simonw 9599 | 2020-06-09T20:01:08Z | 2020-06-09T20:01:08Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641528737 | https://github.com/simonw/datasette/issues/804#issuecomment-641528737 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUyODczNw== | simonw 9599 | 2020-06-09T19:39:24Z | 2020-06-09T19:39:24Z | OWNER | Switched to 0.44 milestone because I don't like shipping releases with known bugs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641528269 | https://github.com/simonw/datasette/issues/827#issuecomment-641528269 | https://api.github.com/repos/simonw/datasette/issues/827 | MDEyOklzc3VlQ29tbWVudDY0MTUyODI2OQ== | simonw 9599 | 2020-06-09T19:38:30Z | 2020-06-09T19:38:30Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document CSRF protection (for plugins) 635696400 | ||
641406944 | https://github.com/simonw/datasette/issues/825#issuecomment-641406944 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQwNjk0NA== | simonw 9599 | 2020-06-09T16:12:02Z | 2020-06-09T17:19:19Z | OWNER | Alternative design: leave actor alone. Instead specify that allow blocks can look like this:
I like this: the above block is very self-documenting. The I'm going with this design. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641452563 | https://github.com/simonw/datasette/issues/825#issuecomment-641452563 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQ1MjU2Mw== | simonw 9599 | 2020-06-09T17:08:00Z | 2020-06-09T17:08:00Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | ||
641449725 | https://github.com/simonw/datasette/issues/825#issuecomment-641449725 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQ0OTcyNQ== | simonw 9599 | 2020-06-09T17:02:31Z | 2020-06-09T17:02:31Z | OWNER | Documented at the bottom of this section: https://github.com/simonw/datasette/blob/7633b9ab249b2dce5ee0b4fcf9542c13a1703ef0/docs/authentication.rst#defining-permissions-with-allow-blocks |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641412424 | https://github.com/simonw/datasette/issues/825#issuecomment-641412424 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQxMjQyNA== | simonw 9599 | 2020-06-09T16:22:07Z | 2020-06-09T16:22:07Z | OWNER | When I implement this I should also document default allow vs default deny as a concept, and specify that default next to every documented permission. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641361311 | https://github.com/simonw/datasette/issues/795#issuecomment-641361311 | https://api.github.com/repos/simonw/datasette/issues/795 | MDEyOklzc3VlQ29tbWVudDY0MTM2MTMxMQ== | simonw 9599 | 2020-06-09T15:11:50Z | 2020-06-09T15:11:50Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
response.set_cookie() method 629541395 | ||
641360187 | https://github.com/simonw/datasette/issues/826#issuecomment-641360187 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTM2MDE4Nw== | simonw 9599 | 2020-06-09T15:10:00Z | 2020-06-09T15:11:24Z | OWNER | Also a good reminder that I need a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | |
641359103 | https://github.com/simonw/datasette/issues/826#issuecomment-641359103 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTM1OTEwMw== | simonw 9599 | 2020-06-09T15:08:07Z | 2020-06-09T15:10:33Z | OWNER | I should probably add a utility function for setting that cookie - right now the only code that does that is here: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | |
641353729 | https://github.com/simonw/datasette/issues/812#issuecomment-641353729 | https://api.github.com/repos/simonw/datasette/issues/812 | MDEyOklzc3VlQ29tbWVudDY0MTM1MzcyOQ== | simonw 9599 | 2020-06-09T14:59:25Z | 2020-06-09T14:59:25Z | OWNER | I'm going to figure this out by working with https://github.com/simonw/datasette-auth-github/issues/62 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize what happens when a view permission fails 634112607 | |
641353186 | https://github.com/simonw/datasette/issues/823#issuecomment-641353186 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTM1MzE4Ng== | simonw 9599 | 2020-06-09T14:58:36Z | 2020-06-09T14:58:36Z | OWNER | Docs now say:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641320947 | https://github.com/simonw/datasette/issues/825#issuecomment-641320947 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTMyMDk0Nw== | simonw 9599 | 2020-06-09T14:06:46Z | 2020-06-09T14:06:46Z | OWNER | I'm torn between
I'm going with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641062164 | https://github.com/simonw/datasette/issues/825#issuecomment-641062164 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTA2MjE2NA== | simonw 9599 | 2020-06-09T06:30:24Z | 2020-06-09T14:05:33Z | OWNER | Idea: the anonymous actor could be passed to
Then allow blocks like this could be used to allow them:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641059221 | https://github.com/simonw/datasette/issues/823#issuecomment-641059221 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTA1OTIyMQ== | simonw 9599 | 2020-06-09T06:23:51Z | 2020-06-09T06:24:09Z | OWNER | I don't like the "id" requirement. I can think of plenty of situations where a unique ID might not be available:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641026726 | https://github.com/simonw/datasette/issues/806#issuecomment-641026726 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTAyNjcyNg== | simonw 9599 | 2020-06-09T04:52:07Z | 2020-06-09T04:52:07Z | OWNER | Changelog for this is going to be huge - 96 commits since 0.43 already! https://github.com/simonw/datasette/compare/0.43...master |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641026230 | https://github.com/simonw/datasette/issues/818#issuecomment-641026230 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MTAyNjIzMA== | simonw 9599 | 2020-06-09T04:50:24Z | 2020-06-09T04:50:24Z | OWNER | I'm dropping this from the 0.44 milestone. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
641025760 | https://github.com/simonw/datasette/issues/823#issuecomment-641025760 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTAyNTc2MA== | simonw 9599 | 2020-06-09T04:48:40Z | 2020-06-09T04:48:40Z | OWNER | I should assert that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641017851 | https://github.com/simonw/datasette/issues/805#issuecomment-641017851 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MTAxNzg1MQ== | simonw 9599 | 2020-06-09T04:17:00Z | 2020-06-09T04:17:00Z | OWNER | I can't get Datasette working on Glitch installed from a URL - I'm going to try this on Glitch once I've shipped the 0.44 release in #806. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
641017721 | https://github.com/simonw/datasette/issues/805#issuecomment-641017721 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MTAxNzcyMQ== | simonw 9599 | 2020-06-09T04:16:28Z | 2020-06-09T04:16:28Z | OWNER | Create |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
638301073 | https://github.com/simonw/datasette/issues/797#issuecomment-638301073 | https://api.github.com/repos/simonw/datasette/issues/797 | MDEyOklzc3VlQ29tbWVudDYzODMwMTA3Mw== | simonw 9599 | 2020-06-03T16:14:54Z | 2020-06-09T04:00:40Z | OWNER | I want a unit test that exercises this for both writable and regular canned queries. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for new "params" setting for canned queries 630120235 | |
641013524 | https://github.com/simonw/datasette/issues/818#issuecomment-641013524 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MTAxMzUyNA== | simonw 9599 | 2020-06-09T03:57:38Z | 2020-06-09T04:00:24Z | OWNER | Problem with that is it's more of a The most interesting permissions plugin would be one that implements permissions against some kind of database schema, hence allowing admins to edit permissions through writable canned queries. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
641009744 | https://github.com/simonw/datasette/issues/818#issuecomment-641009744 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MTAwOTc0NA== | simonw 9599 | 2020-06-09T03:43:18Z | 2020-06-09T03:43:18Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
641009442 | https://github.com/simonw/datasette/issues/818#issuecomment-641009442 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MTAwOTQ0Mg== | simonw 9599 | 2020-06-09T03:41:55Z | 2020-06-09T03:41:55Z | OWNER | I want to build a plugin that does |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
641003291 | https://github.com/simonw/datasette/issues/822#issuecomment-641003291 | https://api.github.com/repos/simonw/datasette/issues/822 | MDEyOklzc3VlQ29tbWVudDY0MTAwMzI5MQ== | simonw 9599 | 2020-06-09T03:17:43Z | 2020-06-09T03:17:43Z | OWNER | I'm leaning towards |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
request.url_vars helper property 635077656 | |
641003237 | https://github.com/simonw/datasette/issues/822#issuecomment-641003237 | https://api.github.com/repos/simonw/datasette/issues/822 | MDEyOklzc3VlQ29tbWVudDY0MTAwMzIzNw== | simonw 9599 | 2020-06-09T03:17:32Z | 2020-06-09T03:17:32Z | OWNER | Currently querystring parameters are accessed through |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
request.url_vars helper property 635077656 | |
641002504 | https://github.com/simonw/datasette/issues/215#issuecomment-641002504 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MTAwMjUwNA== | simonw 9599 | 2020-06-09T03:14:32Z | 2020-06-09T03:14:32Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | ||
640982533 | https://github.com/simonw/datasette/issues/820#issuecomment-640982533 | https://api.github.com/repos/simonw/datasette/issues/820 | MDEyOklzc3VlQ29tbWVudDY0MDk4MjUzMw== | simonw 9599 | 2020-06-09T02:00:21Z | 2020-06-09T02:00:21Z | OWNER | In the case of registering API tokens it would be useful if the plugin could call a writable canned query which knows how to insert a randomly generated value. This could be achieved using a custom SQL function. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Idea: Plugin hook for registering canned queries 635049296 | |
640972952 | https://github.com/simonw/datasette/issues/215#issuecomment-640972952 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MDk3Mjk1Mg== | simonw 9599 | 2020-06-09T01:24:52Z | 2020-06-09T01:25:33Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | ||
640971470 | https://github.com/simonw/datasette/issues/215#issuecomment-640971470 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MDk3MTQ3MA== | simonw 9599 | 2020-06-09T01:19:44Z | 2020-06-09T01:19:44Z | OWNER | I'll need to add documentation of the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | |
640960667 | https://github.com/simonw/datasette/issues/215#issuecomment-640960667 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MDk2MDY2Nw== | simonw 9599 | 2020-06-09T00:41:35Z | 2020-06-09T00:41:35Z | OWNER | I'm going to implement this one documentation-first in a pull request. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | |
640960553 | https://github.com/simonw/datasette/issues/215#issuecomment-640960553 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MDk2MDU1Mw== | simonw 9599 | 2020-06-09T00:41:09Z | 2020-06-09T00:41:09Z | OWNER | I'm going to imitate So I'll do this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | |
640957423 | https://github.com/simonw/datasette/issues/777#issuecomment-640957423 | https://api.github.com/repos/simonw/datasette/issues/777 | MDEyOklzc3VlQ29tbWVudDY0MDk1NzQyMw== | simonw 9599 | 2020-06-09T00:29:03Z | 2020-06-09T00:29:03Z | OWNER | Here's why: 404 errors are rendered by looking for a template from
That template extends |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error pages not correctly loading CSS 626171242 | |
640955788 | https://github.com/simonw/datasette/issues/777#issuecomment-640955788 | https://api.github.com/repos/simonw/datasette/issues/777 | MDEyOklzc3VlQ29tbWVudDY0MDk1NTc4OA== | simonw 9599 | 2020-06-09T00:23:26Z | 2020-06-09T00:23:57Z | OWNER | Clue: https://latest.datasette.io/404 displays correctly but https://latest.datasette.io/fixtures/404 does not. That's because |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error pages not correctly loading CSS 626171242 | |
640951947 | https://github.com/simonw/datasette/issues/813#issuecomment-640951947 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDk1MTk0Nw== | simonw 9599 | 2020-06-09T00:09:56Z | 2020-06-09T00:09:56Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | ||
640929693 | https://github.com/simonw/datasette/issues/818#issuecomment-640929693 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MDkyOTY5Mw== | simonw 9599 | 2020-06-08T22:56:38Z | 2020-06-08T22:56:38Z | OWNER | https://datasette.readthedocs.io/en/latest/plugins.html#permission-allowed-datasette-actor-action-resource has a couple of examples now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
640925018 | https://github.com/simonw/datasette/issues/777#issuecomment-640925018 | https://api.github.com/repos/simonw/datasette/issues/777 | MDEyOklzc3VlQ29tbWVudDY0MDkyNTAxOA== | simonw 9599 | 2020-06-08T22:41:42Z | 2020-06-08T22:41:42Z | OWNER | This is particularly worth fixing now that 403 forbidden pages are much more likely due to #811. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error pages not correctly loading CSS 626171242 | |
640924558 | https://github.com/simonw/datasette/issues/493#issuecomment-640924558 | https://api.github.com/repos/simonw/datasette/issues/493 | MDEyOklzc3VlQ29tbWVudDY0MDkyNDU1OA== | simonw 9599 | 2020-06-08T22:40:01Z | 2020-06-08T22:40:01Z | OWNER | I'll also rename |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename metadata.json to config.json 449886319 | |
640924482 | https://github.com/simonw/datasette/issues/493#issuecomment-640924482 | https://api.github.com/repos/simonw/datasette/issues/493 | MDEyOklzc3VlQ29tbWVudDY0MDkyNDQ4Mg== | simonw 9599 | 2020-06-08T22:39:45Z | 2020-06-08T22:39:45Z | OWNER | I'm definitely doing this rename, now that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename metadata.json to config.json 449886319 | |
640916991 | https://github.com/simonw/datasette/issues/806#issuecomment-640916991 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MDkxNjk5MQ== | simonw 9599 | 2020-06-08T22:18:45Z | 2020-06-08T22:18:45Z | OWNER | Reminder for release notes: I removed |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
640916807 | https://github.com/simonw/datasette/issues/813#issuecomment-640916807 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDkxNjgwNw== | simonw 9599 | 2020-06-08T22:18:09Z | 2020-06-08T22:18:09Z | OWNER | I could retire the I'm going to do that. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | |
640916290 | https://github.com/simonw/datasette/issues/813#issuecomment-640916290 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDkxNjI5MA== | simonw 9599 | 2020-06-08T22:16:39Z | 2020-06-08T22:17:32Z | OWNER | Naming problem: Datasette already has a config option with this name:
https://datasette.readthedocs.io/en/stable/config.html#allow-sql It's confusing to have two things called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | |
640905609 | https://github.com/simonw/datasette/issues/801#issuecomment-640905609 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0MDkwNTYwOQ== | simonw 9599 | 2020-06-08T21:48:44Z | 2020-06-08T21:48:44Z | OWNER | Dropping this out of Datasette 0.44 again - I have enough other stuff to finish, this can wait. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
640837908 | https://github.com/simonw/datasette/issues/813#issuecomment-640837908 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDgzNzkwOA== | simonw 9599 | 2020-06-08T19:33:03Z | 2020-06-08T19:33:03Z | OWNER | Don't forget to link to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | |
640831842 | https://github.com/simonw/datasette/issues/813#issuecomment-640831842 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDgzMTg0Mg== | simonw 9599 | 2020-06-08T19:27:47Z | 2020-06-08T19:27:47Z | OWNER | This needs to be ready for Datasette 0.44 because without it the "view-table" permission is useless - it will protect the https://latest.datasette.io/fixtures/facetable page but will not prevent users from executing https://latest.datasette.io/fixtures?sql=select+*+from+facetable |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | |
640830088 | https://github.com/simonw/datasette/issues/813#issuecomment-640830088 | https://api.github.com/repos/simonw/datasette/issues/813 | MDEyOklzc3VlQ29tbWVudDY0MDgzMDA4OA== | simonw 9599 | 2020-06-08T19:26:15Z | 2020-06-08T19:26:15Z | OWNER | This needs to affect the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for specifying allow_sql permission in metadata.json 634139848 | |
640815550 | https://github.com/simonw/datasette/issues/816#issuecomment-640815550 | https://api.github.com/repos/simonw/datasette/issues/816 | MDEyOklzc3VlQ29tbWVudDY0MDgxNTU1MA== | simonw 9599 | 2020-06-08T19:06:44Z | 2020-06-08T19:06:44Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Come up with a new example for extra_template_vars plugin 634783573 | ||
640808161 | https://github.com/simonw/datasette/issues/817#issuecomment-640808161 | https://api.github.com/repos/simonw/datasette/issues/817 | MDEyOklzc3VlQ29tbWVudDY0MDgwODE2MQ== | simonw 9599 | 2020-06-08T18:51:42Z | 2020-06-08T18:54:37Z | OWNER | I'm also going to rename |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Drop resource_type from permission_allowed system 634844634 | |
640763899 | https://github.com/simonw/datasette/issues/816#issuecomment-640763899 | https://api.github.com/repos/simonw/datasette/issues/816 | MDEyOklzc3VlQ29tbWVudDY0MDc2Mzg5OQ== | simonw 9599 | 2020-06-08T17:21:59Z | 2020-06-08T17:21:59Z | OWNER | I'm going to show how to display the current user's user-agent. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Come up with a new example for extra_template_vars plugin 634783573 | |
640673405 | https://github.com/simonw/datasette/issues/815#issuecomment-640673405 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY3MzQwNQ== | simonw 9599 | 2020-06-08T14:41:55Z | 2020-06-08T14:41:55Z | OWNER | I want to be able to display the HTTP path and verb - |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640673138 | https://github.com/simonw/datasette/issues/815#issuecomment-640673138 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY3MzEzOA== | simonw 9599 | 2020-06-08T14:41:24Z | 2020-06-08T14:41:24Z | OWNER | I could reuse that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640672540 | https://github.com/simonw/datasette/issues/815#issuecomment-640672540 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY3MjU0MA== | simonw 9599 | 2020-06-08T14:40:22Z | 2020-06-08T14:40:22Z | OWNER | Here's the current tracer mechanism. Note that it captures a stacktrace (which is expensive) - but only if the tracer system has been enabled for a request. For permissions checks I want to ALWAYS track those calls, not just on requests that have opted in. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640671398 | https://github.com/simonw/datasette/issues/815#issuecomment-640671398 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY3MTM5OA== | simonw 9599 | 2020-06-08T14:38:20Z | 2020-06-08T14:38:20Z | OWNER | But |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640671241 | https://github.com/simonw/datasette/issues/815#issuecomment-640671241 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY3MTI0MQ== | simonw 9599 | 2020-06-08T14:38:04Z | 2020-06-08T14:38:04Z | OWNER | Alternative to a correlation ID would be to use the existing It could even start logging SQL queries to an in-memory deque too, so a debug tool could show you queries executed by other requests! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640656143 | https://github.com/simonw/datasette/issues/815#issuecomment-640656143 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDY0MDY1NjE0Mw== | simonw 9599 | 2020-06-08T14:25:48Z | 2020-06-08T14:26:45Z | OWNER | Will we need a request correlation ID for this? Multiple asyncio threads can write things to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
640638057 | https://github.com/simonw/datasette/issues/814#issuecomment-640638057 | https://api.github.com/repos/simonw/datasette/issues/814 | MDEyOklzc3VlQ29tbWVudDY0MDYzODA1Nw== | simonw 9599 | 2020-06-08T14:11:51Z | 2020-06-08T14:12:12Z | OWNER | The only impact it has at all is on this code here: https://github.com/simonw/datasette/blob/cc218fa9be55842656d030545c308392e3736053/datasette/views/base.py#L515-L527 That |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove --debug option from datasette serve 634651079 | |
640362879 | https://github.com/simonw/datasette/issues/811#issuecomment-640362879 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM2Mjg3OQ== | simonw 9599 | 2020-06-08T04:42:28Z | 2020-06-08T13:39:46Z | OWNER | I'm finding myself repeating this pattern a lot:
An abstraction around this would be useful. Idea:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640367128 | https://github.com/simonw/datasette/issues/811#issuecomment-640367128 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM2NzEyOA== | simonw 9599 | 2020-06-08T05:00:13Z | 2020-06-08T05:00:49Z | OWNER | Should the padlock show up on tables that are private only because they inherited their privacy from their parent database or even the parent instance? Interesting question. If an instance is private, I'm not sure it makes sense to show padlocks on absolutely everything. Likewise, a list of tables shown on the database table with a padlock next to every single table (when the database itself is private) doesn't seem to add any useful information. I think "Show 🔒 in header on private database page" will resolve this for me. I'll always show the padlock in the header of a database/table page even if that privacy is inherited - but I won't do that for padlocks shown in the list of tables or list of databases. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640365512 | https://github.com/simonw/datasette/issues/811#issuecomment-640365512 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM2NTUxMg== | simonw 9599 | 2020-06-08T04:53:49Z | 2020-06-08T04:53:49Z | OWNER | I really like the padlocks. I should include a screenshot in the documentation that illustrates them. Maybe I should figure out a way to have the https://latest.datasette.io/ demo illustrate both a logged-in and a logged-out state. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640348785 | https://github.com/simonw/datasette/issues/811#issuecomment-640348785 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM0ODc4NQ== | simonw 9599 | 2020-06-08T03:51:50Z | 2020-06-08T03:51:50Z | OWNER | New convention: the 🔒 icon is now shown next to resources that are private - that are visible to you now, but would not be visible to the anonymous user. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640345115 | https://github.com/simonw/datasette/issues/811#issuecomment-640345115 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM0NTExNQ== | simonw 9599 | 2020-06-08T03:37:33Z | 2020-06-08T03:37:33Z | OWNER | Per-table permissions is pretty interesting for large installations though - an organization might have hundreds of CSV files imported into Datasette and then allow users to specify which exact users within that organization are allowed to see which CSV. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640344950 | https://github.com/simonw/datasette/issues/811#issuecomment-640344950 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDM0NDk1MA== | simonw 9599 | 2020-06-08T03:36:49Z | 2020-06-08T03:36:49Z | OWNER | Oh this is a bit awkward - should I be running per-table permission checks for every table that might be shown on the index page? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640339828 | https://github.com/simonw/datasette/issues/801#issuecomment-640339828 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0MDMzOTgyOA== | simonw 9599 | 2020-06-08T03:18:47Z | 2020-06-08T03:18:47Z | OWNER | Example. This will only allow users to access the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
640339674 | https://github.com/simonw/datasette/issues/811#issuecomment-640339674 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDMzOTY3NA== | simonw 9599 | 2020-06-08T03:18:15Z | 2020-06-08T03:18:15Z | OWNER | I should take these permissions into account when displaying a list of tables or a list of databases (like I do right now when displaying a list of queries). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640339117 | https://github.com/simonw/datasette/issues/801#issuecomment-640339117 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0MDMzOTExNw== | simonw 9599 | 2020-06-08T03:16:16Z | 2020-06-08T03:16:16Z | OWNER | I'm going to call this key |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
640338347 | https://github.com/simonw/datasette/issues/811#issuecomment-640338347 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDMzODM0Nw== | simonw 9599 | 2020-06-08T03:13:23Z | 2020-06-08T03:13:23Z | OWNER | Do row-level permissions even make sense? Might be a good idea to remove those until I have a good use-case for them. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640338151 | https://github.com/simonw/datasette/issues/811#issuecomment-640338151 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDMzODE1MQ== | simonw 9599 | 2020-06-08T03:12:41Z | 2020-06-08T03:12:41Z | OWNER | Also need to expand the docs on https://datasette.readthedocs.io/en/latest/authentication.html to explain where you can put |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640337951 | https://github.com/simonw/datasette/issues/811#issuecomment-640337951 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDMzNzk1MQ== | simonw 9599 | 2020-06-08T03:11:58Z | 2020-06-08T03:11:58Z | OWNER | I'd like to be able to apply permissions for the ability to run a SQL query - but I'm not sure where the best place for that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640287967 | https://github.com/simonw/datasette/issues/811#issuecomment-640287967 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI4Nzk2Nw== | simonw 9599 | 2020-06-07T22:16:10Z | 2020-06-07T22:16:10Z | OWNER | The tests in test_permissions.py could check the .json variants and assert that permission checks were carried out too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640280741 | https://github.com/simonw/datasette/issues/395#issuecomment-640280741 | https://api.github.com/repos/simonw/datasette/issues/395 | MDEyOklzc3VlQ29tbWVudDY0MDI4MDc0MQ== | simonw 9599 | 2020-06-07T21:12:57Z | 2020-06-07T21:12:57Z | OWNER | This is a pattern I like:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Find a cleaner pattern for fixtures with arguments 396215043 | |
640277775 | https://github.com/simonw/datasette/issues/801#issuecomment-640277775 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0MDI3Nzc3NQ== | simonw 9599 | 2020-06-07T20:49:40Z | 2020-06-07T20:49:40Z | OWNER | I'm going to pass the entire actor object as a dictionary of available named query parameters. So if the actor looks like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
640277557 | https://github.com/simonw/datasette/issues/801#issuecomment-640277557 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0MDI3NzU1Nw== | simonw 9599 | 2020-06-07T20:48:00Z | 2020-06-07T20:48:00Z | OWNER | Now that I'm expanding permission checks to everything else too (#811), not just canned queries, I think it makes sense to re-prioritize this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
640274171 | https://github.com/simonw/datasette/issues/811#issuecomment-640274171 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI3NDE3MQ== | simonw 9599 | 2020-06-07T20:21:14Z | 2020-06-07T20:21:14Z | OWNER | Next step: fix this
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640273945 | https://github.com/simonw/datasette/issues/811#issuecomment-640273945 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI3Mzk0NQ== | simonw 9599 | 2020-06-07T20:19:15Z | 2020-06-07T20:19:15Z | OWNER | I'm going to add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640270178 | https://github.com/simonw/datasette/issues/811#issuecomment-640270178 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI3MDE3OA== | simonw 9599 | 2020-06-07T19:48:39Z | 2020-06-07T19:48:39Z | OWNER | Testing pattern:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640248972 | https://github.com/simonw/datasette/issues/811#issuecomment-640248972 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI0ODk3Mg== | simonw 9599 | 2020-06-07T17:04:22Z | 2020-06-07T17:04:22Z | OWNER | I'll need a neat testing pattern for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640248864 | https://github.com/simonw/datasette/issues/810#issuecomment-640248864 | https://api.github.com/repos/simonw/datasette/issues/810 | MDEyOklzc3VlQ29tbWVudDY0MDI0ODg2NA== | simonw 9599 | 2020-06-07T17:03:15Z | 2020-06-07T17:03:15Z | OWNER | This is obsoleted by #811. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor permission check for canned query 633066114 | |
640248669 | https://github.com/simonw/datasette/issues/811#issuecomment-640248669 | https://api.github.com/repos/simonw/datasette/issues/811 | MDEyOklzc3VlQ29tbWVudDY0MDI0ODY2OQ== | simonw 9599 | 2020-06-07T17:01:44Z | 2020-06-07T17:01:44Z | OWNER | If the allow block at the database level forbids access this needs to cascade down to the table, query and row levels as well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support "allow" block on root, databases and tables, not just queries 633578769 | |
640121917 | https://github.com/simonw/datasette/issues/215#issuecomment-640121917 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDY0MDEyMTkxNw== | simonw 9599 | 2020-06-06T21:42:58Z | 2020-06-07T05:58:36Z | OWNER | I might use some dependency injection here, with Maybe a view function can take |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | |
640160487 | https://github.com/simonw/datasette/issues/800#issuecomment-640160487 | https://api.github.com/repos/simonw/datasette/issues/800 | MDEyOklzc3VlQ29tbWVudDY0MDE2MDQ4Nw== | simonw 9599 | 2020-06-07T05:34:07Z | 2020-06-07T05:34:07Z | OWNER | See #810 for work to finish this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Canned query permissions mechanism 631931408 | |
640157216 | https://github.com/simonw/datasette/issues/808#issuecomment-640157216 | https://api.github.com/repos/simonw/datasette/issues/808 | MDEyOklzc3VlQ29tbWVudDY0MDE1NzIxNg== | simonw 9599 | 2020-06-07T04:58:40Z | 2020-06-07T04:58:40Z | OWNER | ... and I want a unit test which confirms that all permissions are documented. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Permission check for every view in Datasette (plus docs) 632918799 | |
640152036 | https://github.com/simonw/datasette/issues/808#issuecomment-640152036 | https://api.github.com/repos/simonw/datasette/issues/808 | MDEyOklzc3VlQ29tbWVudDY0MDE1MjAzNg== | simonw 9599 | 2020-06-07T03:38:07Z | 2020-06-07T03:38:07Z | OWNER | I'm going to need to add permissions documentation for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Permission check for every view in Datasette (plus docs) 632918799 | |
640135332 | https://github.com/simonw/datasette/issues/807#issuecomment-640135332 | https://api.github.com/repos/simonw/datasette/issues/807 | MDEyOklzc3VlQ29tbWVudDY0MDEzNTMzMg== | simonw 9599 | 2020-06-07T00:13:51Z | 2020-06-07T00:13:51Z | OWNER | These should not be shipped as the latest version on Docker Hub. They also should not become the "stable" release on ReadTheDocs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to ship alpha and beta releases 632843030 | |
640123488 | https://github.com/simonw/datasette/issues/800#issuecomment-640123488 | https://api.github.com/repos/simonw/datasette/issues/800 | MDEyOklzc3VlQ29tbWVudDY0MDEyMzQ4OA== | simonw 9599 | 2020-06-06T21:59:14Z | 2020-06-06T21:59:14Z | OWNER | I didn't build this quite right: it should be using the permissions plugin hook. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Canned query permissions mechanism 631931408 | |
640122664 | https://github.com/simonw/datasette/issues/805#issuecomment-640122664 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MDEyMjY2NA== | simonw 9599 | 2020-06-06T21:50:41Z | 2020-06-06T21:50:41Z | OWNER | Part of #806 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
504881900 | https://github.com/simonw/datasette/issues/215#issuecomment-504881900 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDUwNDg4MTkwMA== | simonw 9599 | 2019-06-24T06:51:29Z | 2020-06-06T21:47:11Z | OWNER | See also #520 - asgi_wrapper plugin hook. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 | |
398826108 | https://github.com/simonw/datasette/issues/215#issuecomment-398826108 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDM5ODgyNjEwOA== | simonw 9599 | 2018-06-20T17:09:18Z | 2020-06-06T21:46:51Z | OWNER | This depends on #272 - Datasette ported to ASGI. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow plugins to define additional URL routes and views 314506669 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
user >30