Skip to content

Conversation

Hunterness
Copy link
Contributor

@Hunterness Hunterness commented Jul 18, 2025

Since we moved them over from DBMS level (while still keeping the DBMS level syntax, just as another syntax for DATABASE *)

Copy link
Contributor Author

@Hunterness Hunterness left a comment

Choose a reason for hiding this comment

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

Some open questions


image::privileges_hierarchy_database.svg[title="Database privileges hierarchy"]
// TODO: do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure
image::privileges_hierarchy_database.svg[width="800", title="Database privileges hierarchy"]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure


image::privileges_grant_and_deny_syntax_database_privileges.svg[title="Syntax of GRANT and DENY Database Privileges"]
// TODO: do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure
image::privileges_grant_and_deny_syntax_database_privileges.svg[width="800", title="Syntax of GRANT and DENY Database Privileges"]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure

----

For example, to deny the role `regularUsers` the ability to start to the database `neo4j`, use:
For example, to deny the role `regularUsers` the ability to start to the database `system`, use:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

the example query had system... (even if starting and stopping system isn't really a thing I think)

Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe it's better to update the example to use neo4j?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

maybe, but it would require more changes as that also affects the show output and such 🤷 I decided to start with the smallest change to fix it as it wasn't what I was updating the docs for

----

For example, to deny the role `regularUsers` the ability to stop the database `neo4j`, use:
For example, to deny the role `regularUsers` the ability to stop the database `system`, use:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

the example query had system... (even if starting and stopping system isn't really a thing I think)

Copy link
Contributor

Choose a reason for hiding this comment

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

As above, I don't think we want an example that doesn't work .


|===

From Cypher 25, the `ALTER DATABASE`, `SET DATABASE ACCESS`, `SET DATABASE DEFAULT LANGUAGE`, and `ALTER COMPOSITE DATABASE` privileges can be granted both as database privileges and as DBMS privileges.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

  1. is this a good enough marker for when it was introduced?
  2. does it also need neo4j version?

I assume whatever the answer is here that it should also apply to the other ones in this file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  1. probably? but how do we nicely fit that in? (or do we only say 2025.08 instead of Cypher 25?)

Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps it should be implicit that if it's new in 2025.08 it will be in in Cypher 25 only, since we don't add new stuff to Cypher 5 anymore. But this is a new process, I'm not sure if users would understand it yet. But it's probably for the docs team to decide.

@mnd999 mnd999 self-assigned this Jul 21, 2025
|===

[role=label--new-2025.08]
.Database privilege syntax
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to also mark it as Cypher 25 only, and if so how?

Copy link
Collaborator

Choose a reason for hiding this comment

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

yes, I'll add it.


[role=label--new-2025.08]
[[access-control-database-administration-alter-db]]
== The alter database related privileges
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to also mark it as Cypher 25 only, and if so how?

|===

[role=label--new-2025.08]
.Database privilege syntax
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to also mark it as Cypher 25 only, and if so how?

Copy link
Collaborator

Choose a reason for hiding this comment

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

same here

----

For example, to deny the role `regularUsers` the ability to start to the database `neo4j`, use:
For example, to deny the role `regularUsers` the ability to start to the database `system`, use:
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe it's better to update the example to use neo4j?

----

For example, to deny the role `regularUsers` the ability to stop the database `neo4j`, use:
For example, to deny the role `regularUsers` the ability to stop the database `system`, use:
Copy link
Contributor

Choose a reason for hiding this comment

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

As above, I don't think we want an example that doesn't work .


|===

From Cypher 25, the `ALTER DATABASE`, `SET DATABASE ACCESS`, `SET DATABASE DEFAULT LANGUAGE`, and `ALTER COMPOSITE DATABASE` privileges can be granted both as database privileges and as DBMS privileges.
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps it should be implicit that if it's new in 2025.08 it will be in in Cypher 25 only, since we don't add new stuff to Cypher 5 anymore. But this is a new process, I'm not sure if users would understand it yet. But it's probably for the docs team to decide.

Copy link
Contributor

@mnd999 mnd999 left a comment

Choose a reason for hiding this comment

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

Okay my me now, but I think there are a few things to discuss with the docs team.

Hunterness and others added 4 commits August 13, 2025 12:44
Since we moved them over from DBMS level (while still keeping the DBMS level syntax, just as another syntax for `DATABASE *`)
Still need to figure out if/how to mark them as cypher 25 as well
Co-authored-by: Mark Dixon <1756429+mnd999@users.noreply.github.com>
@renetapopova renetapopova force-pushed the dev-move-alter-database-privileges branch from c67b5df to ee88244 Compare August 13, 2025 11:45
Copy link
Collaborator

@renetapopova renetapopova left a comment

Choose a reason for hiding this comment

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

I added some comments, which I'll address shortly.

|===

[role=label--new-2025.08]
.Database privilege syntax
Copy link
Collaborator

Choose a reason for hiding this comment

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

yes, I'll add it.

|===

[role=label--new-2025.08]
.Database privilege syntax
Copy link
Collaborator

Choose a reason for hiding this comment

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

same here

|===


// TODO: do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think one is enough.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

then maybe we should have removed the TODOs

@neo4j-docops-agent
Copy link
Collaborator

neo4j-docops-agent commented Aug 13, 2025

Thanks for the documentation updates.

The preview documentation has now been torn down - reopening this PR will republish it.


The hierarchy between the different database privileges is shown in the image below.

// TODO: do we want two pictures, one for Cypher 5 and one for Cypher 25? I'd guess not but I'm not sure
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: Should we do something about this TODO?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reneta answered on the other one that we probably only needed one image, so we should remove the TODOs

Copy link
Contributor

@mnd999 mnd999 left a comment

Choose a reason for hiding this comment

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

Seems fine

@NataliaIvakina NataliaIvakina merged commit 6b3aea3 into neo4j:dev Aug 19, 2025
8 checks passed
lidiazuin pushed a commit to lidiazuin/docs-operations that referenced this pull request Aug 21, 2025
…neo4j#2490)

Since we moved them over from DBMS level (while still keeping the DBMS
level syntax, just as another syntax for `DATABASE *`)

---------

Co-authored-by: Mark Dixon <1756429+mnd999@users.noreply.github.com>
Co-authored-by: Reneta Popova <reneta.popova@neo4j.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants