Skip to content

Keeping profiles the same for multiple developers? #28

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
ConjuringCoffee opened this issue May 25, 2023 · 13 comments
Closed

Keeping profiles the same for multiple developers? #28

ConjuringCoffee opened this issue May 25, 2023 · 13 comments
Assignees
Labels
enhancement New feature or request

Comments

@ConjuringCoffee
Copy link
Contributor

When working in a team, each developer should use the same profile. Right now, each developer is responsible for the rules profile they use. This is fine for an initial setup but can get messy when it comes to updating the settings of the profile.

I see two approaches we can follow right now:

  • Define a profile, make it available to the other developers and hope that everyone updates their profile. Of course, this will not be successful every time.
  • Define a shared folder (e.g. in OneDrive) that contains the profile of the team. Any changes to the profile are automatically synced between the developers. The disadvantage is that all personal profiles are also shared with everyone.

Are there any better approaches?

If not, then I'd like to see some kind of mechanism to distribute profiles. One possibility could be to have one folder for shared profiles and one folder for personal profiles.

@jmgrassau jmgrassau added the enhancement New feature or request label May 25, 2023
@jmgrassau
Copy link
Member

Hi ConjuringCoffee,

yes, that's a good point, and I think the solution of having profiles in two folders (one synchronized, one local for personal profiles) makes perfect sense.

ABAP cleaner currently allows to change the standard folder for profiles (button "Edit Profiles and Rules…" -> section "Profiles", button "Folder…"), so you could redirect that to a OneDrive folder; however, this could indeed get messy if everyone puts their 'personal' profiles into that, too.

Kind regards,
Jörg-Michael

@ConjuringCoffee
Copy link
Contributor Author

It would also be great if the button Save Profiles and Exit would not overwrite existing profiles if nothing was changed. My team and I manage the profile using OneDrive now, and a new version is created every time someone presses the button. This makes it more difficult to monitor actual changes to the profile.

@jmgrassau
Copy link
Member

Hi ConjuringCoffee,

not overwrite existing profiles if nothing was changed

that's a great idea (and much faster to implement than the above one), so I did that right away for the next release :-)

Kind regards,
Jörg-Michael

@ConjuringCoffee
Copy link
Contributor Author

Do you have any plans on when you'll tackle this feature? 😉 I'd like to properly roll out a standardized profile within my organization.

@jelliottp
Copy link

@ConjuringCoffee have you found a good way onboard a developer to use a shared folder location? I've noticed that if you select the 'Folder' option for profiles, the tool attempts to copy your current profiles into the shared location, which obviously we wouldn't want. Seems like each person should delete their current profiles before selecting the folder?

@ConjuringCoffee
Copy link
Contributor Author

have you found a good way onboard a developer to use a shared folder location?

Not yet, I wasn't aware that this is a problem because I didn't encounter this problem with the developer I previously onboarded. I'll keep this in mind, thanks

@jmgrassau
Copy link
Member

Hi ConjuringCoffee and Josh,

so this would be my proposal: In the Profiles and Rules editor, the button "Folder…" will be changed to "Folders…"

image

This opens the following window:

image

The Profiles list then contains both

  • my "own" profiles, which can be modified, renamed, deleted etc., and
  • the "team" profiles from up to 3 different folders, using the respective "short name" as a prefix:

image

Since "team" profiles get a prefix, profile names (e.g. "default") can be the same. "Team" profiles can be selected and used for cleanup just like "own" profiles; they can also be displayed in the Profiles editor (including highlighting of differences to other profiles etc.), but not modified. You can of course Copy them (into to your "own" profile folder) and modify the copy.

With that, I hope it would be easier to synchronize team profiles without conflicts, while still having your own profiles. Synchronization might be done via OneDrive or the company network; or the team architect could push the profiles to some GitHub repo (which would allow nice version control), from which developers could pull it regularly via scheduled batch job etc.

Do you think this approach would help? And is it understandable (terminology, "Folders…" window, …)?

Kind regards,
Jörg-Michael

@jmgrassau jmgrassau self-assigned this Oct 2, 2023
@jelliottp
Copy link

Hi @jmgrassau, I like where this is heading! How do you envision the team profiles get saved & updated in the shared location? Would the lead developer/team architect have to manually update that file each time changes are made? It would be nice to save it directly from Eclipse like we can now, but I can see how this would add complexity.

@ConjuringCoffee
Copy link
Contributor Author

Your suggestion generally looks like a sensible approach to me. 🙂

How do you envision the team profiles get saved & updated in the shared location? Would the lead developer/team architect have to manually update that file each time changes are made? It would be nice to save it directly from Eclipse like we can now, but I can see how this would add complexity.

This would be my question as well. With the current suggestion, I'd expect that the maintainer has the profile in their own personal folder and must copy it to the team folder after every change. The maintainer wouldn't use the team folder directly. Is that how you intend it to work, Jörg-Michael?

@jmgrassau
Copy link
Member

Hi Josh and ConjuringCoffee,

yes, that would be the idea – otherwise, the lead developer or team architect would need a special setup, being the only one to have write access to the shared folder etc., and I think such an overhead would rather add confusion than help.

Updating a shared profile would nevertheless be easy: let's assume, our lead developer / team architect has (amongst others) a profile named "common" in their own, write-accessible profile folder. They would then

  • check newly added features, updating the rule configuration in their own "common" profile
  • click "Export…", navigate to the shared folder (however, ABAP cleaner automatically suggests the target folder that was selected with the last export, so probably they don't even need to navigate), and click "Select Folder"
  • confirm to overwrite the "common" profile in the shared folder.

So, it's just 4 clicks (Export… -> Select Folder -> Yes -> OK), all directly from the "Profiles and Rules" window, and it would at maximum happen every few weeks when new cleanup rules or options were released. I hope our lead developer / team architect can manage that ;-)

Kind regards,
Jörg-Michael

@jmgrassau
Copy link
Member

Hi ConjuringCoffee and Josh,

thanks again for bringing this up and for patiently discussing how to best solve this. This new feature is now available with version 1.7.0 which was just released, and some documentation was added on how it could be used! Hope everything works as intended.

Kind regards,
Jörg-Michael

@ConjuringCoffee
Copy link
Contributor Author

Thank you! I'm already working on rolling this out to some colleagues.

@jelliottp
Copy link

yes, that would be the idea – otherwise, the lead developer or team architect would need a special setup, being the only one to have write access to the shared folder etc., and I think such an overhead would rather add confusion than help.

I actually already had a setup like this, so I will try it out with the new feature as well. I can directly save profile changes to the OneDrive and now others have an easy way to pull in the profile.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants