Issue/Symptoms:


Users are unable to save a Teamwork Cloud project locally, and see error messages similar to:

 

Users also see similar entries observed in the modeling tool log file:

com.nomagic.esi.api.messages.exceptions.NotAuthorizedException: Not authorized to process com.nomagic.esi.core.msg.GetCommitInfosMsg
at com.nomagic.esi.client.core.a.c.d.a(d.java:82)
	at com.nomagic.esi.client.core.a.c.d.a(d.java:122)
	at com.nomagic.esi.client.core.a.c.i.getCommitInfo(i.java:269)
	at com.nomagic.magicdraw.esi.session.impl.w.b(w.java:72)
	at com.nomagic.magicdraw.esi.session.OnlineExecutor.callOnline(OnlineExecutor.java:83)
	at com.nomagic.magicdraw.esi.session.OnlineExecutor.callOnline(OnlineExecutor.java:54)
	at com.nomagic.magicdraw.esi.session.OnlineExecutor.getOnline(OnlineExecutor.java:113)
	at com.nomagic.magicdraw.esi.session.impl.w.a(w.java:102)
	at com.nomagic.magicdraw.esi.session.impl.w.a(w.java:72)
	at com.nomagic.magicdraw.esi.session.f$c.a(f$c.java:1108)
	at com.nomagic.magicdraw.esi.persistence.c.c.a(c.java:115)
	at com.nomagic.magicdraw.esi.persistence.c.c.a(c.java:98)
	at com.nomagic.magicdraw.esi.rellocate.b.f.a(f.java:743)
	at com.nomagic.magicdraw.esi.rellocate.b.f.a(f.java:2470)
	at com.nomagic.magicdraw.esi.rellocate.b.f.b(f.java:518)
	at com.nomagic.magicdraw.esi.rellocate.b.f.c(f.java:424)
	at com.nomagic.magicdraw.persistence.ProjectLoadService.callWithoutAddToRecentFiles(ProjectLoadService.java:1333)
	at com.nomagic.magicdraw.esi.rellocate.b.f.a(f.java:424)
	at com.nomagic.magicdraw.esi.rellocate.b.f.access$100(f.java:195)
	at com.nomagic.magicdraw.esi.rellocate.b.f$i.execute(f$i.java:378)
	at com.nomagic.task.Task.construct(Task.java:192)
	at com.nomagic.task.SwingWorker$2.call(SwingWorker.java:209)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at com.nomagic.task.SwingWorker$SwingWorkerFuture.run(SwingWorker.java:596)
	at com.nomagic.task.BackportedThreadPoolExecutor$Worker.runTask(BackportedThreadPoolExecutor.java:1593)
	at com.nomagic.task.BackportedThreadPoolExecutor$Worker.run(BackportedThreadPoolExecutor.java:1624)
	at com.nomagic.task.PooledThread.run(PooledThread.java:64)

Solution:

If a user does not have "Read Resources" permission for all used projects (directly and indirectly used), the user cannot save the project. This is a known issue, and is fixed in version 2021x.

To work around the issue (without upgrading your version), please check which permissions the user has. The user needs at least the "Read Resources" permission or "Resource Reviewer" role for all used projects (directly and indirectly used). Permissions and roles can be assigned to the user through the "TWCloud Admin" web application.

See the procedures on how to sign into that application at https://docs.nomagic.com/display/TWCloud190SP3/Sign+into+TWCloud+Admin.
This link outlines how to assign permission/role to a user: https://docs.nomagic.com/display/TWCloud190SP3/Permissions