# Documentation Revamp

**URL:** <https://discuss.dgraph.io/t/documentation-revamp/18239>\
**Category:** Announce\
**Tags:** documentation\
**Created:** [February 3, 2023, 1:39am UTC](https://discuss.dgraph.io/t/documentation-revamp/18239 "2023-02-03T01:39:08Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [February 3, 2023, 1:39am UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/1 "2023-02-03T01:39:08Z")

</div>

A quick update on some recent activities.  
The engineering team is steadily improving our code base and should announce our v23 soon. I’m personally looking forward to this major step as the merge of our cloud branch and community branch will be a starting point to implement new features. It will also purge a good list of issues.

But today I wanted to share the work we are doing on the documentation. We are revamping the documentation step by step to improve usability and help new Dgraph users as well as seasoned practitioners to leverage the power of Dgraph.  
We are reviewing each page and organizing the content more clearly into _concept_, _task_, _tutorial_, or _reference_ pages. We are also taking the opportunity to re-test the instructions and correct them when needed. We are also including some of the great work of the community.

For example you may want to check

- An new explanation of the [DQL syntax](https://dgraph.io/docs/dql-overview/dql-query/) coming from a discuss post.
- The [Glossary](https://dgraph.io/docs/main/dgraph-glossary/)
- The [Dgraph overview](https://dgraph.io/docs/dgraph-overview/) or the [DQL Quick Start](https://dgraph.io/docs/main/get-started/)

Other technical pages are also being reviewed :

- [Installation](https://dgraph.io/docs/installation/) details
- [Importing](https://dgraph.io/docs/howto/importdata/about_import/) and [exporting](https://dgraph.io/docs/howto/exportdata/about-export/) data
- [Data migration](https://dgraph.io/docs/migration/about-data-migration/)

We are also doing some technical work to have the search working on the older versions. It was broken and we had to review the logic between Hugo, Netlify, Algolia crawler and indexes. Some fun scripting involved and some hiccups to expect as I’m testing the solution at the moment. So don’t worry if you see some messages about the current version in the doc. I’ll post when the search capability will be fully functional.

It’s a tedious work but very rewarding as it’s an opportunity for the team to go into some feature details. As I used to say, It’s surprising what you can learn by just reading the doc ! But the doc has to be readable.

It’s a continuous effort and we expect to have the whole doc revamped this quarter. We will also review all the tutorials.  
Feel free to share you advice on the tutorials you found useful and the ones you would like to see !

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [February 3, 2023, 5:08pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/2 "2023-02-03T17:08:44Z")

</div>

The search box now works on the older releases !

We have deployed the doc of v22.0 and v21.03 ( the 2 versions officially supported) but we will put 21.12 back in the doc site too.  
If you urgently need the v21.12 doc it is available [here](https://release-v21-12--dgraph-docs-repo.netlify.app/docs/v21.12)

BTW I have seen the suggestion to use Dgraph instead of Algolia. That’s a good idea for a project :  
anyone interested in building a crawler, indexer and metadata management solution based on Dgraph ? 🙂

---

<div class="post-metadata">

**Author:** ![MichelDiz](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/micheldiz/32/11873_2.png) [@MichelDiz](https://discuss.dgraph.io/u/MichelDiz)\
**Post date:** [February 3, 2023, 6:26pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/3 "2023-02-03T18:26:33Z")

</div>

> [@Raphael](#):
>
> anyone interested in building a crawler, indexer and metadata management solution based on Dgraph ?

That would be a nice Showcase. If it uses Knowledge Graph logic it would be a killer project.

---

<div class="post-metadata">

**Author:** ![jdgamble555](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/jdgamble555/32/7503_2.png) [@jdgamble555](https://discuss.dgraph.io/u/jdgamble555)\
**Post date:** [February 3, 2023, 10:20pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/4 "2023-02-03T22:20:40Z")

</div>

Just throwing out there that this would be a perfect example of the need for fuzzy full text search. Algolia and elastic do this out of the box.

J

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [February 3, 2023, 10:38pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/5 "2023-02-03T22:38:26Z")

</div>

Absolutely 🙂

---

<div class="post-metadata">

**Author:** ![cscetbon](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/cscetbon/32/10100_2.png) [@cscetbon](https://discuss.dgraph.io/u/cscetbon)\
**Post date:** [February 12, 2023, 5:02am UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/6 "2023-02-12T05:02:46Z")

</div>

> [@Raphael](#):
>
> I’m personally looking forward to this major step as the merge of our cloud branch and community branch will be a starting point to implement new features.

Hey @Raphael I’m confused, are you saying your cloud branch (that we can’t access) and community branch are gonna be merged ? or are you just saying that they both will get those new features in ?

Thanks

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 2, 2023, 5:21pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/7 "2023-03-02T17:21:02Z")

</div>

@cscetbon yes, the Dgraph engine running in our Cloud and the engine available on community branch will be the same ! Starting at the next release, we want Dgraph new features and bug corrections to be available on Cloud and on community at the same time. It’s a big change !  
The Cloud offering has a some management tooling and UIs (the Cloud console) that will stay private.

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 2, 2023, 5:32pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/8 "2023-03-02T17:32:03Z")

</div>

The documentation revamp continues.

You might be interested in [JSON mutation format](https://dgraph.io/docs/dql-syntax/json-mutation-format/) where we put explanations requested and provided by the community about JSON, blank node, relationships etc…, It’s now in the doc, as requested.

[DQL mutation](https://dgraph.io/docs/dql-syntax/dql-mutation/) syntax is also better introduced.

The [GraphQL Quick Start](https://dgraph.io/docs/graphql/quick-start/) has also been simplified.

We have also merged the Cloud doc so we can better reference common concepts in the doc.

We had recent requests about the @auth directive, and more broadly about how to secure Dgraph cluster and your GraphQL API. We are working at integrating the different explanations from Discuss posts, current documentation and tutorials to clearly explain Dgraph.Authorization schema annotation , GraphQL anonymous access (cloud feature), @auth directive.

---

<div class="post-metadata">

**Author:** ![RJKeevil](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/rjkeevil/32/2625_2.png) [@RJKeevil](https://discuss.dgraph.io/u/RJKeevil)\
**Post date:** [March 3, 2023, 7:47am UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/9 "2023-03-03T07:47:48Z")

</div>

Nice, I think these are much easier to follow! As a suggestion for the future, also having client specific versions would help a lot of people (e.g. Python, Go, JS etc). This is because the syntax for set, delete, upsert etc varies a little and currently users still have to translate that part.

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 4, 2023, 4:51pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/10 "2023-03-04T16:51:56Z")

</div>

Thanks for the feedabck @RJKeevil. For the clients, we would like to clarify GraphQL clients (make it clear that we don’t have a GraphQL client but we work well with any popular GraphQL client), programmatic clients (Go, Java, python…) and UI clients (Ratel and more to come).

For the programmatic clients, could you clarify your request for the versions : do you think we should align the client version with Dgraph version and have the clients built with the Dgraph build or are you referring to a separate doc page for clients so you can browse the client version history ?

---

<div class="post-metadata">

**Author:** ![RJKeevil](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/rjkeevil/32/2625_2.png) [@RJKeevil](https://discuss.dgraph.io/u/RJKeevil)\
**Post date:** [March 4, 2023, 5:47pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/11 "2023-03-04T17:47:14Z")

</div>

Hi Raphael, I mean that in [https://dgraph.io/docs/dql-syntax/dql-mutation/](https://dgraph.io/docs/dql-syntax/dql-mutation/) page, in “set block” you have examples/tabs for json and RDF. I think it would be more useful to show how to do this in Python, Golang or Javascript, as now as a user I need to translate that json example into how the client actually expects a query to be provided. An example would be like the Qdrant docs, that give a python equivalent for each htttp call ([Collections - Qdrant](https://qdrant.tech/documentation/collections/#create-collection))

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 4, 2023, 7:53pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/12 "2023-03-04T19:53:14Z")

</div>

Thanks, we will do that …

---

<div class="post-metadata">

**Author:** ![jdgamble555](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/jdgamble555/32/7503_2.png) [@jdgamble555](https://discuss.dgraph.io/u/jdgamble555)\
**Post date:** [March 5, 2023, 7:55pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/13 "2023-03-05T19:55:13Z")

</div>

I actually disagree with this. Other languages should have a separate place in the docs.

- [Read and Write Data on the Web &nbsp;|&nbsp; Firebase Realtime Database](https://firebase.google.com/docs/database/web/read-and-write)
- [Python driver - Fauna Documentation](https://docs.fauna.com/fauna/current/drivers/python)
- [Using Neo4j from Python - Developer Guides](https://neo4j.com/developer/python/)

There is NO correlation between **dql** , **graphql** , **rdf** , **json** etc…

This is _completely_ different than **javascript** , **python** , **golang** , **c#** …

The tabs for **rdf** vs **json** are a completely different concept. @Raphael - I find the changes here highly valuable, and you should not add python or any language on this page.

There should be a separate place for python programmers to understand the concepts.

J

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 6, 2023, 4:27pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/14 "2023-03-06T16:27:10Z")

</div>

Thanks for the comment @jdgamble555. We where debating how to organize the client documentation : either by tasks (use cases) and give the different flavors on each task, or by technology and describe all the tasks you can do with the python client, go client, … (as it is now) .  
I guess when you are a python developer , you are not really interested in all the Go examples.  
The organization of the client doc by language seems a better approach.  
Let’s give a try at our client doc improvement and we will pay attention to the community feedback.

---

<div class="post-metadata">

**Author:** ![info2000](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/info2000/32/10325_2.png) [@info2000](https://discuss.dgraph.io/u/info2000)\
**Post date:** [March 6, 2023, 4:56pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/15 "2023-03-06T16:56:22Z")

</div>

I had the crawler and metadata, now trying to use Dgraph instead neo4j, but it’s complicate to find Dgraph’s experts

---

<div class="post-metadata">

**Author:** ![Mentioum](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/mentioum/32/2255_2.png) [@Mentioum](https://discuss.dgraph.io/u/Mentioum)\
**Post date:** [March 6, 2023, 7:03pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/16 "2023-03-06T19:03:29Z")

</div>

I think that Clerk.dev has some of the nicer docs I’ve read through recently.

They have the general concepts and clerk.dev specific information at the top level and then the majority of the information one layer down under SDK/ specific language / sdk integrations in their own sections / getting started flows.

On sign up they basically ask if you are implementing Clerk with any of these x frameworks. If you click one it takes you to the getting started for that specific framework.

They also use [https://nextra.site/](https://nextra.site/) in case thats of any interest.

 ![image](https://canada1.discourse-cdn.com/flex007/uploads/dgraph/original/2X/9/91de26ab0287b7730ee00c378c9a1dac80363d11.jpeg)  
 ![image](https://canada1.discourse-cdn.com/flex007/uploads/dgraph/original/2X/3/3a83466bc1254c38f6c088e9adccf03fcc22e554.jpeg)  
 ![image](https://canada1.discourse-cdn.com/flex007/uploads/dgraph/original/2X/6/6af6440a4fd181e6adfb9cc2c029036be37e23b1.jpeg)

---

<div class="post-metadata">

**Author:** ![Raphael](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/raphael/32/10075_2.png) [@Raphael](https://discuss.dgraph.io/u/Raphael)\
**Post date:** [March 31, 2023, 4:02pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/17 "2023-03-31T16:02:43Z")

</div>

We have started to include elements about GraphQL and DQL interoperability. We also included elements from @amaster507 paper (thank you) and explained the differences between GraphQL schema and Dgraph types and predicates. We also started to list some benefits (and risks) by covering GraphQL data ingestion and data cleaning using DQL. It’s a work in progress and a place to put community tips on those subjects.  
[https://dgraph.io/docs/graphql-dql/](https://dgraph.io/docs/graphql-dql/)

The doc has also a new section about design concepts at  
[https://dgraph.io/docs/design-concepts/](https://dgraph.io/docs/design-concepts/)

We have also moved the “clients” section in DQL to clarify that Dgraph clients are DQL only and created a section [GraphQL Client - GraphQL](https://dgraph.io/docs/graphql/graphql-clients/) to explain the `/graphql` endpoint and headers better and to clarify the usage of GraphQL tools (IDE and clients).

We are working now on consolidating the Dgraph Administration documentation.

You will also notice that we have moved tutorials close to the documentation pages and organized them by roles targeting application developers, data engineers, and administrators. It’s at [Dgraph Tutorials - Learn](https://dgraph.io/docs/learn/)

Please let me know if you have good resources or ideas to create some Dgraph administration tutorials…

---

<div class="post-metadata">

**Author:** ![jdgamble555](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/jdgamble555/32/7503_2.png) [@jdgamble555](https://discuss.dgraph.io/u/jdgamble555)\
**Post date:** [March 31, 2023, 7:25pm UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/18 "2023-03-31T19:25:38Z")

</div>

I would just add that you can’t currently use custom dql for mutations, and technically you could execute DQL in lambdas.

[Use DQL in GraphQL - GraphQL dql (dgraph.io)](https://dgraph.io/docs/graphql-dql/dql-for-graphql/)

J

---

<div class="post-metadata">

**Author:** ![amaster507](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/amaster507/32/4123_2.png) [@amaster507](https://discuss.dgraph.io/u/amaster507)\
**Post date:** [April 1, 2023, 12:14am UTC](https://discuss.dgraph.io/t/documentation-revamp/18239/19 "2023-04-01T00:14:21Z")

</div>

These pages are looking good. Glad to see some of this cleared up directly in the docs. Interesting to see tuts being brought back beside the docs, it all sometimes to be a big circle. 😉
