SuiteCRM 8 Front End Development

Hey everyone,

I have some questions about front end Angular development. There are a lot of simple things that are super easy to do in SuiteCRM 7 like populating a field with the value of another field (in the browser, not backend) and populating a field with a value from a related record.

I do this stuff like every day and it’s super easy to achieve in SuiteCRM 7.

I h aven’t really got into Angular Dev and I’m not sure where to start. I understand these things are achievable with the documentation and tutorials provided.

However, Angular Dev is new to me and I have some questions (I’m sure many have the same questions). Hoping someone that does this can help clarify.

I sort of get the general idea of creating a dev env and then compiliing it over to prod (I’m sure Chatgpt can help me with that part).

However, what are the implications? If I do customizations on the front end, are they upgrade safe? Do they have to be recompiled every time there is an update? Can anyone shed any light on what the implications off these kind of customizations are?

Also, I would love a general overview of the process for creating a dev environment and compiling and pushing it to prod if you feel so inclined.

The short version, because I am in a hurry -

You always need to recompile when you change front-end code. It pays to have a truckload of RAM. You can make do with 24 - 32GB, but 48GB is the sweet spot for me.

It’s important to get the versions right (same as the ones currently used by the core team). This goes for Node, Angular, and possibly others I don’t remember.

Your upgrade-safe changes go in the extensions folder.

Reading up on generic Angular stuff is recommended, and you should look at it as a relatively large investment. I wish I had found time to do this part myself, but I haven’t. The upside is that these well designed frameworks make you a better developer. They teach you how to think and how to organize code. In the back-end, Symfony definitely does that for me, I love learning Symfony stuff.

Thanks @pgr Ugh, most of my clients and myself are on VPS servers with 4G of ram. So basically front end dev in SuiteCRM = Practically impossible.

Hopefully, the future holds some way of doing this without having to rebuild the front end. (I miss Smarty!)

It is important to note that the design philosophy of SuiteCRM 8 aims to move many common tasks into back-end configuration.

Generally, it would be expected that you would only need to dive into Angular front-end changes if you are performing ā€˜high-level’ customisations—such as building entirely new field types, views, etc.—that fall outside the scope of the standard framework

For many common use cases, you can achieve your requirements using Front-end Logic. This allows you to manage field states, visibility, and basic interactions through metadata and PHP, rather than writing custom Angular components from scratch. You can find several practical examples of how to implement this in the documentation here: SuiteCRM 8 Front-end Logic.

It is likely that more configurations will follow in future updates. If you have specific use cases or behaviours that you cannot currently achieve using the existing logic framework, we would be very happy to hear about them.