Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 22 15:33

    rhoxhaj on MS-10-Download-S3

    (compare)

  • Apr 22 15:33
    rhoxhaj edited #1189
  • Apr 22 15:33

    rhoxhaj on Mesh-S3-Support

    feature/MS3-7 WIP - Successful … feature/MS3-7 WIP - Successful … feature/MS3-7 WIP and 37 more (compare)

  • Apr 22 15:33
    rhoxhaj closed #1188
  • Apr 22 15:32

    rhoxhaj on MS3-13-metadata-extraction

    wip WIP wip and 1 more (compare)

  • Apr 22 07:32
    rhoxhaj synchronize #1188
  • Apr 22 07:32

    rhoxhaj on MS-10-Download-S3

    feature/MS-10-PR-fixes (compare)

  • Apr 21 13:27
    plyhun synchronize #1175
  • Apr 21 13:27

    plyhun on hotfix-1.6.x-cluster-crash-ut

    Add missing MeshContainer overr… (compare)

  • Apr 21 09:15
    plyhun commented #1188
  • Apr 21 08:46

    plyhun on dev

    Tika 1.26 parses more metadata,… (compare)

  • Apr 21 08:26

    plyhun on hotfix-1.5.x

    Tika 1.26 parses more metadata,… (compare)

  • Apr 21 08:16

    plyhun on hotfix-1.6.x

    Tika 1.26 parses more metadata,… (compare)

  • Apr 20 17:25

    plyhun on hotfix-1.5.x

    Changelog for Tika update (compare)

  • Apr 20 17:21

    plyhun on hotfix-1.6.x

    Update Tika Parser to 1.26 (#11… Changelog for Tika update (compare)

  • Apr 20 17:16

    plyhun on dev

    Update Tika Parser to 1.26 (#11… (compare)

  • Apr 20 17:08

    plyhun on hotfix-1.5.x

    Update Tika Parser to 1.26 (#11… (compare)

  • Apr 20 17:00

    plyhun on hotfix-1.4.x-sup-11163

    (compare)

  • Apr 20 17:00

    plyhun on hotfix-1.4.x

    Update Tika Parser to 1.26 (#11… (compare)

  • Apr 20 17:00
    plyhun closed #1184
Serhii Plyhun II
@plyhun
@javecruzCapgemini
here it is https://getmesh.io/docs/api/#_get - just a simple endpoint root GET
javecruzCapgemini
@javecruzCapgemini
is there any migration guide? I've upgraded from 1.5.1 to 1.7.6 and mesh breaks after trying to update any node through the mesh UI. I can't even log in after that.
Dominik Decker
@deckdom
@javecruzCapgemini Hi, can you please ellaborate? What steps did you perform and does the log contain any information? In case of errors these should have been logged and give us an idea what might have happened.
javecruzCapgemini
@javecruzCapgemini
I managed to make it work by deleting PVC's in kubernetes then re-deploying mesh.
kelthur
@kelthur
Hi all, I got a question. I want to give every user the permission to change his own userattributes like username, firstname, lastname and password. Every user is in a "client" group which has the permission to view some nodes. I dont want him to see other users or change other users. The problem is that I cant find a way to give him the permissions for that. If i give the client role the permissions for the user, i cant assign this role to other users. Even if i would create roles on the fly for every user, there is still a problem with the group because every user in the group shares the roles. I want to forward a update-user-call from my FE to gentics mesh and let the cms decide if the user is allowed to change his attributes. Do i need to write a plugin for that?
Serhii Plyhun II
@plyhun
hi @kelthur ,
there is no possibility for the user to alter its own attributes apart from all other users' data out of the box, unfortunately. Please try writing a plugin.
kelthur
@kelthur
@plyhun Thanks!
DevNils
@DevNils

Hello Folks, I found a strange behaviour while using GraphQL queries. It seems the response lists always the versions of the default language, not matter which language you query. Example:

{
  node(uuid: "06ca1bfb099c4d4580976995e6f594f0", lang:"de") {
    version
    versions {
      version
    }
  }
}

results in

{
  "data": {
    "node": {
      "version": "1.0",
      "versions": [
        {
          "version": "1.0"
        },
        {
          "version": "0.1"
        }
      ]
    }
  }
}

and "en" results in

{
  "data": {
    "node": {
      "version": "0.2",
      "versions": [
        {
          "version": "1.0"
        },
        {
          "version": "0.1"
        }
      ]
    }
  }
}

but it should list "0.1" and "0.2", which you see in the "version" field. Should I write a bug report about it?

Dominik Decker
@deckdom
Hi @DevNils ! Yes, this is sadly a known issue: #971
Feel free to open a Ticket which references #971 so we won't forget that case as well
tgnstr
@tillganster
HI im trying to register a Plugin but I get this exceptions. I am using the default pom.xml from the Helloworld Plugin but I guess Im doing something wrong with my Dependecies ? Is this a an issue with my configuration or is it known ?
 java.lang.LinkageError: loader constraint violation: loader org.pf4j.PluginClassLoader @62b0bf85 wants to load abstract class io.reactivex.Completable. A different abstract class with the same name was previously loade
d by 'app'. (io.reactivex.Completable is in unnamed module of loader 'app')
mesh-server |   at java.base/java.lang.ClassLoader.defineClass1(Native Method)
mesh-server |   at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
mesh-server |   at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
mesh-server |   at java.base/java.net.URLClassLoader.defineClass(Unknown Source)
mesh-server |   at java.base/java.net.URLClassLoader$1.run(Unknown Source)
mesh-server |   at java.base/java.net.URLClassLoader$1.run(Unknown Source)
mesh-server |   at java.base/java.security.AccessController.doPrivileged(Native Method)
mesh-server |   at java.base/java.net.URLClassLoader.findClass(Unknown Source)
mesh-server |   at org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:112)
mesh-server |   at com.gentics.mesh.plugin.CSVExporter.initialize(CSVExporter.java:37)
mesh-server |   at com.gentics.mesh.plugin.registry.DelegatingPluginRegistryImpl.registerAndInitializePlugin(DelegatingPluginRegistryImpl.java:148)
mesh-server |   at com.gentics.mesh.plugin.registry.DelegatingPluginRegistryImpl.initAndRegister(DelegatingPluginRegistryImpl.java:126)
mesh-server |   at com.gentics.mesh.plugin.registry.DelegatingPluginRegistryImpl.preRegister(DelegatingPluginRegistryImpl.java:107)
mesh-server |   at com.gentics.mesh.plugin.manager.MeshPluginManagerImpl.startPlugins(MeshPluginManagerImpl.java:156)
mesh-server |   at com.gentics.mesh.plugin.manager.MeshPluginManagerImpl.lambda$deployExistingPluginFiles$0(MeshPluginManagerImpl.java:132)
mesh-server |   at io.reactivex.internal.operators.completable.CompletableDefer.subscribeActual(CompletableDefer.java:36)
mesh-server |   at io.reactivex.Completable.subscribe(Completable.java:2255)
mesh-server |   at io.reactivex.Completable.subscribe(Completable.java:2328)
mesh-server |   at com.gentics.mesh.cli.BootstrapInitializerImpl.init(BootstrapInitializerImpl.java:346)
mesh-server |   at com.gentics.mesh.cli.MeshImpl.run(MeshImpl.java:140)
mesh-server |   at com.gentics.mesh.cli.MeshImpl.run(MeshImpl.java:101)
mesh-server |   at com.gentics.mesh.server.ServerRunner.main(ServerRunner.java:44)
Dominik Decker
@deckdom

@tillganster Hi, this is an error which pops up when a Plugin has a dependency bundled which is already present in Mesh (i.E. rxjava).
Reason this happens is, that quite some libraries (i.E rxjava, vertx, mesh libs, etc) are in the same Class Loader as Plugins.
Which is neat in that you save space by not providing the same library multiple times, but breaks when you want to use a different version or configure it wrongly.

This can be avoided by marking the library as "provided" in your "pom.xml".
If it isn't marked as "provided", the library is bundled into your Plugin and will be loaded.
As the Class Loader has the class already present when loading your Plugin, it'll throw the error that you get.

The hello-world-plugin is a bit out of date (Last update in 2019 :eyes: ) which uses Mesh v1.0.0 as parent.
You should try to update the property "mesh.version" to the one you're building the plugin for.
If the error still persists, then let me know :)

DevNils
@DevNils

Hello Folks, I have a possible database corruption in a mesh setup and I wonder if there is a way to rescue it. I am running mesh 1.7.6 in a docker environment. The whole database is readable, but when I try to change or delete something I get the following crash and I have to restart mesh.

SEVERE: Exception `1EA50949` in storage `plocal:/graphdb/storage`: 3.1.6 - Veloce (build d9f940b27ed4d81270f947cc3678c820a587b1c6, branch UNKNOWN)
com.orientechnologies.orient.core.exception.OStorageException: Exception during execution of component operation inside component NodeImpl_uuid.irs in storage storage
    DB name="storage"
    ...
 Caused by: java.lang.NullPointerException
    at com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationBinaryTracking.releasePageFromWrite(OAtomicOperationBinaryTracking.java:282)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.releasePageFromWrite(ODurableComponent.java:165)
    at com.orientechnologies.orient.core.storage.index.sbtreebonsai.local.OSBTreeBonsaiLocal.allocateBucketForWrite(OSBTreeBonsaiLocal.java:1517)
    at com.orientechnologies.orient.core.storage.index.sbtreebonsai.local.OSBTreeBonsaiLocal.initAfterCreate(OSBTreeBonsaiLocal.java:168)
    at com.orientechnologies.orient.core.storage.index.sbtreebonsai.local.OSBTreeBonsaiLocal.lambda$create$1(OSBTreeBonsaiLocal.java:124)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationsManager.executeInsideComponentOperation(OAtomicOperationsManager.java:195)
    ... 41 more
...
09:48:27.090 [] ERROR [vert.x-eventloop-thread-12] - 172.18.0.7 - DELETE /api/v2/entdeckertour/nodes/054184e6d72d4af189540219b05a4634 HTTP/1.1 500 44 - 110 ms
Mar 03, 2021 9:48:27 AM com.orientechnologies.common.log.OLogManager log
SEVERE: Exception `184149C6` in storage `plocal:/graphdb/storage`: 3.1.6 - Veloce (build d9f940b27ed4d81270f947cc3678c820a587b1c6, branch UNKNOWN)
com.orientechnologies.orient.core.exception.OStorageException: Internal error happened in storage storage please restart the server or re-open the storage to undergo the restore process and fix the error.

I tried the repair endpoints but they are not detecting any problems. Do you have a clue how to solve this issue? Thanks a lot! Nils

Serhii Plyhun II
@plyhun
Hi @DevNils
You may try starting Mesh with startServer option, which gives you the OrientDB administration tool, and locate/repair the data from there. There is no centralized way to repair a corrupted DB from Mesh, unfortunately.
When you enable the option, check Mesh startup logs for the tool URL. The default creds must be admin/admin.
1 reply
kelthur
@kelthur
Hi all, is there a way to load plugins in a certain order? Example: i want to load one plugin before all other plugins are loaded.
Serhii Plyhun II
@plyhun
hi @kelthur
Normally, the plugins are intended to be sorted by Plugin-ID, although the particular plugin may carry dependencies, that are also checked for sharing the same classloaders, dependencies, etc etc, so the final order is not defined. Though you may try giving your plugins IDs that alphabetically precede each other. Also you may want to alter a pluginTimeout option in mesh.yml - plugins are loaded concurrently, starting one after another with a timeout (value in seconds).
kelthur
@kelthur
@plyhun Ty very much, I will try this ;)
Gustavo Varo
@gugavaro
Trying to deploy the hello-world example, I just package the sample into a jar and copied it to the plugins folder? is there any other thing missing? I am getting: [] ERROR [main] [o.p.AbstractPluginManager] - Field 'id' cannot be empty
Johannes Schüth
@Jotschi

@/all

Some of you may already know that Philipp Gürtler and I have quit Gentics.
We want to thank the community for using Mesh and thus allowing us to develop it further.
It has been a great journey and we both have learned a lot in the past years.
We'll now take a short break from work and take on new projects in the future.

The core development and support of Mesh will be continued by Gentics.

Thank you all & stay healthy

Michael Bromley
@michaelbromley
Best of luck to you and Philipp! I learned a lot too during my time working on Mesh, and really enjoyed working with the both of you. Enjoy your break 🙂
Serhii Plyhun II
@plyhun
hi @gugavaro ,
It is interesting. If you made no changes to the hello-world code, there should be no problems and no changes required. The error you got blames about empty Plugin ID, which looks weird (the plugin ID is indeed presented). I will check the plugin and get back ASAP.
Echooff3
@Echooff3
Hey All! I'm having a strange issue when migrating a new schema. On a string field, I added an allowed string to test something out. Once I was happy with the results I copied the JSON from the schema populated the allowed strings with a list I created. That seemed to work. However, a couple of fields that were unrelated ended up getting that test value applied to it. Attempting to remove the allowed string has no effect. I click save, the migration takes place and it still remains. I've even tried updating the schema via the API with the same result. Logs show that there are no errors in the migration either.
// Should Be this
{
    "name": "phone",
    "type": "string",
    "label": "Phone",
    "required": false
}
// Now it's this
{
    "name": "phone",
    "label": "Phone",
    "required": false,
    "type": "string",
    "allow": [       // <-- This won't go away also I didn't add this value to the field
        "Test.png"
    ]
}
25 replies
I'm running v1.7.7
Echooff3
@Echooff3
Screen Shot 2021-03-17 at 4.24.07 PM.png
Ghost
@ghost~60547cad6da0373984708207
I've been demo-ing my way through headless, API-first, GraphQL-capable CMS.
Just about to take a much deeper dive into Gentics-Mesh, and find -- here -- that @philippguertler & @Jotschi are leaving Gentics.
Both appear to have been long-time, critical contributors to this channel, and community & support in general.
Having just experienced a real-time disintegration of another company-backed CMS project/community when several of its "long-time, critical contributors" left (forked), I'll ask the question ...
What's this mean for Gentics-Mesh project health & continuity?
wojtektoda
@wojtektoda
Hello All, I have a problem with GM permission system.
Here is an example:
I have a folder node called "Home" and inside that folder I have 2 nodes of some type.
On UI I'm loading content of "Home" by calling its REST api /webroot/home/children.
We have also 2 roles. Role1 has access to first node of "Home" and Role2 has access to second node of "Home"
and both roles have read access to "Home" to allow UI getting /webroot/home/children (otherwise we get 401).
Now when I add another node to "Home" it is automatically accessible by Role1 and Role2 because they have "read" permission to "Home".
Could we prevent this default behavior ? I want to have diffrent content of Home page for each user that could have diffrent set of roles.
1 reply
Serhii Plyhun II
@plyhun
hi @huna02 ,
Gentics Mesh is no other than here to stay, keeping all the attention for the support and evolution from the whole existing Gentics Team. We have plans to evolve and responsibilities to keep. Though we are in the much appreciated position to have paying enterprise customers that allow us to continue the development, we do love Opensource and keep sharing our work to the community.
Serhii Plyhun II
@plyhun
hi @wojtektoda ,
the default permissions on node creation are based on the parent node's permissions (inevitable at the moment, unfortunately). if you need to change one for an existing node, you may want using permissions change method according to your needs.
DevNils
@DevNils

Hello Folks, is there a possibility to change the Elasticsearch configuration? I have a simple example running mesh 1.7.6. and I can not sort my elasticsearch response by "schema.name". Here is my query:

{
  "sort" : {
     "schema.name" : { "order" : "asc" }
  },
  "query":{
    "bool" : {
      "must" : {
        "term": {
                    "parentNode.uuid": "383efa5d3c264ea8b4dbffd6f852ad6e"
                }
       }
    }
  }
}

Here is the response:

{
  "i18nParameters": [
    "all shards failed"
  ],
  "i18nKey": "search_error_query",
  "properties": {
    "cause-28": "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [schema.name] in order to load field data by uninverting the inverted index. Note that this can use significant memory.",
...
"type": "generic_error",
  "message": "An error occurred while handling query."
}

Is there a solution for this problem or a workaround?

Ghost
@ghost~60547cad6da0373984708207

Looking for any users' experience/feedback with backing-up/restoring/migrating content data out/in of Mesh's OrientDB.

I know of it, but have never touched it.

I'm a bit 'antsy' about using a DB, plus tooling, that's unknown. And, if I'm not being just naive about it, potentially (far) less robust than 'mainstream' DBs.

7 replies
Ghost
@ghost~60547cad6da0373984708207

This
https://github.com/gentics/mesh/releases
reports v1.7.7 as current "release"

This
https://getmesh.io/download/
reports v1.7.6 as current "release"

Which is the current release? 1.7.6, or 1.7.7 ?

2 replies
aromatov
@aromatov
Hi, all! Who knows, how get all not container children nodes from another node via only rest api? Not from root path /nodes. Without graphql. I have some node id and i want get all its children. Thanks )
4 replies
Ghost
@ghost~60547cad6da0373984708207

I installed v1.7.7 mesh server. On login attempt, I get a "java[62093]: 06:54:41.420 [] ERROR [vert.x-eventloop-thread-1] [c.g.m.r.r.FailureHandler] - Unauthorized - Request for path {/api/v1/auth/login} was not authorized." error.

Iiuc, api "v1" has been deprecated.

Docs say "The Java REST client still uses v1 per default but can be set to v2. We advise to do so while /api/v1 is still supported to prevent failures in the future."

How/where do you set mesh to api/v2 usage only?

7 replies
DevNils
@DevNils
Is there a way to enhance the sort capabilities for elasticsearch? Right now it is not possible to sort by displayName, schema, editor or creator. If I sort for displayName I get:
No mapping found for [displayName] in order to sort on
Dominik Decker
@deckdom

@DevNils
The issue is described in the response already -> The "schema.name" field is not sortable.
However, the "schema.name.raw" field may be used instead.

Background:
The "schema.name" field is indexed as a "text" field with a ngram analyzer
While the "schema.name.raw" field is indexed as a "keyword" field.
This is currently our default format for quite some fields, so when you encounter such an error, try adding ".raw".

The default ngram analyzer is currently also used for all string fields.
If you want to add custom analyzers/mappings, please see the documentation for it here: https://getmesh.io/docs/elasticsearch/#_custom_mappings_index_settings

Specific searches for schemas for example should be done with "term" and "keyword" fields.

1 reply
Ghost
@ghost~60547cad6da0373984708207
Apparently api v2 doesn't allow setting basePath, like v1 does. So dropping it behind a reverseproxy subfolder path isn't an option currently.
Anyone here have a workaround for doing this -- namely, getting alternative basePaths to work with v2 api -- now?
Ghost
@ghost~60547cad6da0373984708207

i'm trying figure out this v2-vs-v1 api mess, & get an answer out of source, since docs don't seem to have it.

the /mesh repo@develop has seen actual code commits within the last month.

its README (https://github.com/gentics/mesh/blob/dev/README.md) states

Gentics Mesh is currently split into two repositories:

    https://github.com/gentics/mesh contains the backend code
    https://github.com/gentics/mesh-ui contains the frontend code

checking the /mesh-ui repo@develop, its last commit is "Jul 18, 2020"

is there more recent ui work? or is that^ it?

Bernhard Riegler
@bernhardriegler
We do not offer a dedicated search function please use
site:getmesh.io <yourSearchHere>
Alexander Alexandrov
@redneckz
Hi colleagues. Who can help me to understand stuff related to premium features?
price, license, integration specifics... what else
currently, we use the free version of mesh and mesh-ui.
and we have a pretty huge bunch of requirements to implement.
so it seems that it makes sense to buy a couple of plugins. for example, Mesh Comment, Mesh Like, Mesh Keycloak
philippdoerre
@philippdoerre
@redneckz just write a short e-mail to mesh@gentics.com - we will contact you!
1 reply
Michaela DeForest
@mdeforest

Hello, I may be misunderstanding the use of the "draft" version, but when I run this query:

    nodes(version: draft) {
      elements {
        uuid
        path
        isPublished
        isDraft
        ... on solution {
          fields {
            name
            slug
          }
        }
      }
    }
  }

I would expect to see only unpublished nodes but when I run this, I get all nodes. It seems as though isPublished and isDraft are both set to true. Is this the expected behavior? If so, how can I get only unpublished nodes?

Serhii Plyhun II
@plyhun

hi @mdeforest ,
we do not support filtering over the version names in GraphQL yet. Please use nodes endpoint for version filtering https://getmesh.io/docs/api/#project__nodes__get .

The draft/published statuses work as following. When you Edit a node and publish it, the latest Draft and Published Version are the same. Therefore, both flags are true. If you then edit the node a second time but don't publish it, then the "isPublished" is false. If you load the published version of it, then "isDraft" would be false, as there's a newer draft version available.

Michaela DeForest
@mdeforest
Thank you for the quick reply! I understand this much better now!
Дмитрий Капустин
@kdima001
Hello. Is the order of the tags preserved ? I have assigned 3 tags (e.g. tag1, tag2, tag3). Then I select the nodes by request http://localhost:8080/api/v2/:projectName/nodes/ will the order of tags in the tags[] array always be preserved in the future ?
Serhii Plyhun II
@plyhun
hi @kdima001 ,
The tag order is not preserved, since they are processed and preserved in the hashed manner.
Дмитрий Капустин
@kdima001
@plyhun Thank you.
Дмитрий Капустин
@kdima001
Hi.
How to select nodes marked with a specific tags (one of list, e.g. tags in [tag1, tag2, tag3]) ? Can this be done using a graphql query?
Serhii Plyhun II
@plyhun
hi,
selecting with a tag list is not yet possible, only by one family/tag set via REST https://getmesh.io/docs/api/#project__tagFamilies__tagFamilyUuid__tags__tagUuid__nodes_get
Michaela DeForest
@mdeforest
Hello,
I was wondering if there is a way to publish a new version of a node without updating the version number via the API? We are storing a list of "comments" in a node (as suggested by someone at Gentics), but we don't want these to change the version number when added. I figure the other solution would be to store a reference to a node instead, where the node represents all comments, but I wanted to see if you already had a way to publish a new version without changing the version number first.
1 reply