Gedmo extensions beta support

+1 vote
asked Nov 26, 2015 in General Questions by ludek.vodicka Skipper developer (140,450 points)

Hi,

after a lot of work we're ready to introduce the first public beta version with Gedmo extensions support. Gedmo extensions is shipped directly with Skipper application files so there are no additional steps to use it.

Before first testing, please make a backup of your project. This is very early beta and can contain bugs which could damage your schema files.

Bellow you can find a list of implemented and not-implemented features and a list of already reported bugs.

What is currently implemented:

  • Gedmo extensions for Doctrine2
  • Following extensions are supported:

    • Tree
    • Translatable use.
    • Sluggable
    • Timestampable
    • Blameable user).
    • Loggable
    • Sortable
    • SoftDeleteable
    • Uploadable
    • References (only direction from Doctrine2 to MongoDB ODM)
    • IpTraceable

What is not implemented:

  • Support for MongoDB ODM - we want to test all extensions for Doctrine2 before extending support with MongoDB ODM
  • ReferencesInterity extension - because it's MongoDB ODM extension only

What we need to test

  • ability to import existing Gedmo extensions from existing Doctrine2 project
  • to check whether all definitions are correctly imported and exported
  • to check if we haven't miss any extension parameter

Bugs we're aware of

  • Currently none. We're awaiting your bugreports ! ;-)

Downloads

Latest ORM Designer 2 beta version is 3.2.5.1264

Windows

Linux

MacOS

1 Answer

0 votes
answered Sep 2, 2016 by Victor (140 points)

Hello

I'm having a problem with the Tree extension. I can configure the TreeRoot fields in skipper but when I try to export to Doctrine, it is ignored.

I can export the TreeLeft, TreeLevel, TreeParent and TreeRight without problems.

Here is my entity configuration (I'm working with uuid as PRIMARY KEY) :

Thanks

<entity name="\ApiBundle\Entity\Category" local-name="Category" namespace="\ApiBundle\Entity" uuid="06669181-8205-4b93-b860-9de218b468b5">
  <field name="id" type="uuid" required="true" primary="true" uuid="7e9b4159-89a2-4e14-8b1a-1ad445174df2">
    <orm-attributes>
      <attribute name="generator">
        <attribute name="strategy">CUSTOM</attribute>
      </attribute>
      <attribute name="custom-id-generator">
        <attribute name="class">Ramsey\Uuid\Doctrine\UuidGenerator</attribute>
      </attribute>
    </orm-attributes>
  </field>
  <field name="createdAt" type="datetime" required="true" uuid="dbb607be-4e05-4d25-9a54-060b4f290f7d">
    <orm-attributes>
      <attribute name="column-definition">TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP</attribute>
    </orm-attributes>
  </field>
  <field name="updatedAt" type="datetime" required="true" uuid="267af731-a6b2-496e-a459-1888a01776af">
    <orm-attributes>
      <attribute name="column-definition">TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</attribute>
    </orm-attributes>
  </field>
  <field name="title" type="string" size="700" required="true" uuid="5ee776fd-ef40-45b3-952e-db86eb8851e2"/>
  <field name="slug" type="string" size="700" uuid="6538fa63-5688-49c4-b865-8b2a144bf3ba"/>
  <field name="parentId" type="uuid" uuid="faeb230a-0b2e-4079-8ada-295e4657404a"/>
  <field name="left" type="integer" uuid="993c31b5-8854-4944-8f98-d3b0654731c7">
    <orm-attributes>
      <attribute name="column">`left`</attribute>
    </orm-attributes>
  </field>
  <field name="level" type="integer" uuid="7de9d007-ddd9-40b8-a12c-0c54fd6bdd4a">
    <orm-attributes>
      <attribute name="column">`level`</attribute>
    </orm-attributes>
  </field>
  <field name="right" type="integer" uuid="97167d12-1e7e-4a6e-82ff-518c887a62b8">
    <orm-attributes>
      <attribute name="column">`right`</attribute>
    </orm-attributes>
  </field>
  <field name="rootId" type="uuid" uuid="2ca02ad1-2d63-4d80-8f73-8649a05e21cd"/>
  <orm-attributes>
    <attribute name="export-file-name">Category.php</attribute>
    <attribute name="table">category</attribute>
    <attribute name="repository-class">ApiBundle\Repository\CategoryRepository</attribute>
    <attribute name="Gedmo">
      <attribute name="Tree">
        <attribute name="Type">nested</attribute>
        <attribute name="Fields">
          <attribute name="TreeLeft">left</attribute>
          <attribute name="TreeRight">right</attribute>
          <attribute name="TreeLevel">level</attribute>
          <attribute name="TreeParent">parent</attribute>
          <attribute name="TreeRoot">rootId</attribute>
        </attribute>
      </attribute>
    </attribute>
  </orm-attributes>
</entity>
<association from="\ApiBundle\Entity\Category" to="\ApiBundle\Entity\Category" caption="Category Category" owner-alias="children" inverse-alias="parent" many-owner="true" many-inverse="false" uuid="b16d0a81-e7cd-4bdc-b7d3-de1839d4f19c">
  <association-field from="parentId" to="id"/>
  <orm-attributes>
    <attribute name="side-owning"/>
    <attribute name="side-inverse"/>
  </orm-attributes>
</association>
<association from="\ApiBundle\Entity\Category" to="\ApiBundle\Entity\Category" owner-alias="" inverse-alias="root" many-owner="true" many-inverse="false" uuid="30b17252-6070-42fc-8edf-809bf28f6bb4">
  <association-field from="rootId" to="id"/>
  <orm-attributes>
    <attribute name="side-owning"/>
    <attribute name="side-inverse"/>
  </orm-attributes>
</association>
commented Sep 2, 2016 by ludek.vodicka Skipper developer (140,450 points)

Hi Victor, thanks for info. Did you try our latest beta? We made a lot of improvements on Gedmo support.

http://support.skipper18.com/402/downloads-skipper-beta

commented Sep 19, 2016 by Victor (140 points)

Thanks for he answer. I have tried the 3.2.7.1330 version, but the problem persist.

...