neo4j-documentation / neo4j-documentation/knowledge-base

Check that the taxonomy values defined in an article are authorized

Open
#35 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
26
Forks
43
PR merge metrics
No merged PRs in 30d

Description

To make sure that every article is using the same set of values, we should check that the values defined in an article are "authorized".

We can enforce that the value of the neo4j-version attribute, the category attribute, and the environment attribute matches a value in an authoritative list of values.

The tag attribute might be more difficult to coerce as there's already a lot of different values.

For reference, here's a summary of the current usage:

developer_tag
[cypher:52, configuration:23, performance:19, logging:19, apoc:17, cluster:14, causal-cluster:14, backup:14, bolt:13, security:13, server:13, import:12, installation:11, memory:11, operations:11, upgrade:10, browser:10, monitoring:10, load-csv:9, sql:8, linux:8, transaction:8, jvm:7, tls:7, procedures:7, heap:7, docker:7, disk:6, unix:6, indexing:6, cypher-shell:6, garbage-collection:5, http:5, jdbc:5, tableau:5, consistency:5, desktop:5, startup:5, drivers:5, cpu:5, storage:4, store:4, visualization:4, bi-connector:4, exception:4, connection:4, neo4j-admin:4, csv:4, ssl:4, lock:4, out-of-memory:4, authentication:4, java:4, embedded:4, aws:4, path:4, temporal:4, timeout:3, open-files:3, ha:3, https:3, cache:3, constraint:3, encryption:3, page-cache:3, debian:3, routing:3, metrics:3, permissions:3, leader:3, follower:3, quotes:3, writes:3, merge:3, user:3, query-log:3, parameters:3, ports:3, filesystem:2, causal:2, load-balancer:2, version:2, fulltext:2, ldap:2, warmup:2, relationships:2, cardinality:2, error:2, certificate:2, ubuntu:2, jdk:2, tuning:2, websocket:2, sysinfo:2, webserver:2, master:2, delete:2, java-api:2, extension:2, samaccountname:2, account:2, authorization:2, counts:2, dump:2, plugin:2, export:2, deadlock:2, multi-datacenter:2, user-agent:2, cli:2, support:2, jmx:2, query:2, commit:2, cloud:2, neo4j-import:2, json:2, copy:2, debug:2, logs:2, enterprise:2, metadata:2, rest:2, properties:2, schema:2, disk-space:2, union:2, core:2, pid:2, thread:2, python:2, s3:2, shutdown:2, latency:2, url:2, capacity:1, election:1, index:1, search:1, kernel:1, scaling:1, labels:1, migration:1, grouping:1, compaction:1, soundex:1, conditional:1, ha-proxy:1, shell:1, bloom:1, perspectives:1, recovery:1, garbage-collector:1, jre:1, java11:1, write:1, read:1, match:1, slave:1, kubernetes:1, load:1, checkpoint:1, pruning:1, explain:1, profile:1, database-growth:1, copy-store:1, file-system:1, etl:1, rdbms:1, bookmarks:1, database:1, relationship:1, record-id:1, network:1, maven:1, user-defined-procedures:1, dependencies:1, functions:1, deployment:1, delimiter:1, neo4j-conf:1, debug-log:1, intersection:1, suspend:1, activate:1, tools:1, unwind:1, shortest-path:1, heap-dump:1, where:1, service-id:1, service:1, refactoring:1, internet-explorer:1, parameters-query-log:1, rbac:1, multi-database:1, rpm:1, logservice:1, start:1, permission-denied:1, certificates:1, client:1, plan-cache:1, cancel:1, upload:1, download:1, tcp:1, limit:1, consistency-check:1, oom:1, import-export:1, ip-address:1, hostname:1, shared:1, exclusive:1, unmanaged:1, role:1, neo4j-shell:1, host:1, nat:1, tunnel:1, transaction-log:1, linkurious:1, hardware:1, planning:1, ram:1, cipher:1, chrome:1, bookmark:1, zoom:1, edition:1, timezone:1, troubleshooting:1, offline:1, lucence:1, install:1, intellij:1, aggregations:1, max:1, min:1, restore:1]

---
developer_category
[operations:116, cypher:55, cluster:25, installation:17, import-export:16, drivers:11, browser:10, development:7, tools:6, desktop:6, performance:5, security:5, server:3, bloom:1, support:1, geospatial:1]

---
neo4j_version
[3-5:125, 3-4:124, 3-2:103, 3-3:101, 3-1:93, 3-0:85, 2-3:42, 4-0:33, 2-2:23, 2-1:10, all:5, 2-0:5, 2-x:4, 4-1:4, neo4j-desktop-1-x:3, 3-x:1, 4-x:1, neo4j-python-driver-1-2:1]

---
environment
[linux:10, docker:5, debian:4, osx:2, unix:2, kubernetes:1, desktop:1, ubuntu:1, windows:1, aws:1]

@jexp who should make the decision about which values are allowed and which values are not?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are identified. Start by locating where article taxonomy attributes are parsed or validated, then determine how authoritative values would be selected for neo4j-version, category, and environment; done requires an agreed list and checks for unauthorized values, with the tag decision resolved.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.