Music catalogue

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • psmo
    Junior Member
    • Jun 2023
    • 5

    Music catalogue

    Hi Espo folk,

    Thank you kindly for taking the time to read my message and thank you in advance for any guidance.

    I have Espo installed in a Docker container on my ubuntu VPS. I am a newbie. I have ADHD. I am attempting to build my own music business portal. It has been incredibly hard for me to get here, but here I am and I am excited! Espo is great.

    I want to create a music catalogue module giving me and any users the ability to create 'Artist' records and then 'Recordings' and indeed 'Releases' There is of course shared metadata between them all - 'Artist Name' for example features in all. So three related entities. Ever expandable the simple overview is....

    Artist: Artist Name, Biography, number of band members, a line for each band member holding their number, email and publisher, links to key social media.

    Audio Asset: Recording Name, version, length, number of songwriters, a line for each songwriter with their name, publisher and %, Artist name(s).
    ​​​​​​
    ​​​​​​Release: Release type, Release name, artwork,.Artist name(s), release date, catalogue number, barcode, p year and credit c year and credit. +++The ability to attach recordings.


    In order to get to grips with this as efficiently as possible, it looks to me like the most efficient way of creating my entities might be via a custom module. I created a simple test module to attempt to install but I'm struggling to make this happen.
    ​​​​​​
    Could anyone please help me understand how best to create this? I am struggling. My brain is really not processing the entity manager in a useful manner so if creating it that way is the best way I would sincerely appreciate some plain English child instructions!

    ​​​​thank you so much for the time
    ​​​​​​
    I have a really exciting music business to hand which I am using espo for and if anyone wanted to trade espo help for music release strategy, guidance and the like... love to help, my resume is strong. Ha..just not for this!!

    docker exec -it espocrm /bin/bash
    cd /var/www/html/custom/Espo/Custom/Modules
    mkdir MusicCatalogue
    cd MusicCatalogue
    touch metadata.json

    echo '{
    "name": "MusicCatalogue",
    "label": "Music Catalogue",
    "package": "custom",
    "module": true,
    "acl": true,
    "metadata": {
    "entityDefs": {
    "Artist": {
    "fields": {
    "name": {
    "type": "string",
    "required": true,
    "label": "Artist Name"
    }
    },
    "labels": {
    "singular": "Artist",
    "plural": "Artists"
    }
    },
    "Song": {
    "fields": {
    "name": {
    "type": "string",
    "required": true,
    "label": "Song Name"
    },
    "artist": {
    "type": "ref",
    "refersTo": "Artist",
    "label": "Artist"
    }
    },
    "labels": {
    "singular": "Song",
    "plural": "Songs"
    }
    },
    "Product": {
    "fields": {
    "name": {
    "type": "string",
    "required": true,
    "label": "Product Name"
    },
    "song": {
    "type": "ref",
    "refersTo": "Song",
    "label": "Song"
    }
    },
    "labels": {
    "singular": "Product",
    "plural": "Products"
    }
    }
    }
    }
    }' > metadata.json

    cd /var/www/html
    php clear_cache.php
  • esforim
    Active Community Member
    • Jan 2020
    • 2204

    #2
    Sound like a big task at hand! With music there is Musicbrainz where many website pull data from. It got standard and guidelines and a strong community behind it. I use to contribute on the website there, maybe you come across some of my edit!

    Anyway you can also host your own MusicBrainz and also get their latest snapshot and use that as your starting out data as well.

    What is your plan with EspoCRM portal? Are you planning to use it to keep track of your artist? Or keep track of your record release sale? It is only going to have data relevant your business or it is for a database? If it database I think it better if you go for the MusicBrainz route.

    As for creating custom entity. I think you should hold back on that and better rename/label some of the current existing entity.

    For me, I would use the Contact as all-in-one person and add a field to differentiate them. For example
    John Smith - Artist
    Jane Smith - Composer
    Joe Smith - Makeup Artist

    Then way if these people work on multiple release/record/song/single you can always link it back to them. You also have their contact information and any dealing you done with them.

    Then I would use Accounts, rename it to Studio or Company. And use that to link all the Recording Studio, Label Maker, Manufacturer, etc.

    For Release, I think I should use Opportunity.

    For Song, I'm not sure yet, maybe a new entity is the right way to go about it here. Maybe call it Track, and start creating relationship. Or use an old existing entity. I guess you can play with it and slowly work from there.

    In term of Music usage, I haven't seen anyone on the forum use it for that purpose yet, for the "Arts" industry like Music, I guess the closest is shalmaxb , where he use it for Artworks.

    Comment

    • shalmaxb
      Senior Member
      • Mar 2015
      • 1603

      #3
      You should have a quite clear imagination of what parts you will want to have (as in any database). What you mention here is a starting point. I would recommend to use the possibilities of espoCRM to create the most parts (besides accounts for companies, contacts and documents) as custom entities. Start with your one and central entity to learn the app. Then create the next important entity for you, connect the entities by relationships and you will learn more. Keep it small for the start, because during development you will change many times lots of things.

      Don think about the modular approach in the beginning. If you create your entities as modules before they are release ready, you will have a lot of work to always construct the modules again and again.

      After starting with one custom entity you will solve many problems and receive help here and that will you bring forward. Be prepared of quite a journey.

      Learn about designing database also, it is important to get to a well functioning app. With espoCRM you have a tool at hand, that is near to a miracle-no-code platform (what in fact not is). It is a lot of fun to get into it and rech solutions, that you before did not dream of.

      Comment

      • psmo
        Junior Member
        • Jun 2023
        • 5

        #4
        Thank you kindly for the feedback. I am going to dig in and investigate.

        I would love to elaborate on my use case but I fear that doing so would be posting my idea into the PD when currently it is not - I think i'm sat on a great business idea here - I would be happy to share more detail about the specific use case privately and would appreciate the conversation but i would rather not go live in a forum with it. Open to team up on it etc.

        Update to come!!!

        Comment

        • yuri
          Member
          • Mar 2014
          • 8442

          #5
          Note that it will be possible to move your custom entities and their relationships (that you created vi UI) to the module in the future. Either by script or manually that is not that tedious. Creating be defining JSON is not the best option for those who not yet well familiar with Espo.
          If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

          Comment

          • psmo
            Junior Member
            • Jun 2023
            • 5

            #6
            Thank you.

            Sincere apologies but I am struggling with something really basic here: this is infact why I started looking at scripts!

            So... I hit admin... Entity manager.. create.

            Click image for larger version

Name:	image.png
Views:	243
Size:	71.8 KB
ID:	93808

            I have saved 'List' as layout..

            Click image for larger version

Name:	image.png
Views:	228
Size:	32.0 KB
ID:	93811

            When I visit my newly created entity, I can see the fields
            Click image for larger version

Name:	image.png
Views:	227
Size:	17.4 KB
ID:	93809

            ​...but when I hit create, no fields?

            Click image for larger version

Name:	image.png
Views:	231
Size:	19.8 KB
ID:	93810

            I am sure this is really obvious, but..?​

            Comment


            • yuri
              yuri commented
              Editing a comment
              You need to add fields on the Detail layout too.
          • psmo
            Junior Member
            • Jun 2023
            • 5

            #7
            I have answered my own question: sorry. As you were!

            Comment

            • shalmaxb
              Senior Member
              • Mar 2015
              • 1603

              #8
              Some more tips at the start:
              1. Keep your development app clean of real data, use demo data.
                Why: If you need help or review from someone else, you can give them access to your instance and will not be in danger to reveal important and personal data.
                I do all my development in such an environment with few data for any entity to be able to test thoroughly.
              2. Consider to ask here for help also in such way, that whoever is ready for that, could have a look into development stages and perhaps give some advice, for modifications (proposals). I myself would help in that way, if you want, because I know how much work it can be, if you constructed your app in a certain way and in the end you get to know more about the possibilities and will see, that you unfortunately have to start over.
              3. Think well, which data could be in its own entity and only link to other entities. It is always good practice for several reasons to split databases in parts, than put everything into one entity.
              4. If you search something to solve a problem, user Google instead of the built in search function of this forum. It works much better. Search string should start with "espoCRM problem to solve".
              5. Sometimes it is helpful to think about the construction of your database to use paper and pencil, or a notepad. I have one open all the time and any thought, that rushes through my head during work at the app, I take a note. This way I do not need to keep that always in my mind, which is impossible, because it occurs too much, and the thoughts also get clearer.
              6. Don`t hesitate to ask here. Here are some really helpful guys (you see, even the main developer yuri tunes in) and the over all mood here is very friendly, something that you will rarely find in tech forums. And you will learn reall a lot of things.

              Comment

              • psmo
                Junior Member
                • Jun 2023
                • 5

                #9
                Again thank you for this. I am re-working my plan!

                Comment

                Working...