Refreshing from server

2,545 views
Skip to first unread message

ksogo...@gmail.com

unread,
Nov 9, 2015, 8:06:23 PM11/9/15
to Illuminated Cloud General Discussion
Hi Scott,

    Just wondering how often and what is the mechanism of getting updated file changes (class, visualforce page, etc) from a salesforce environment, ie.  if my teammates changed a file, how can I get it refreshed in my IntelliJ studio.  I am new to IntelliJ and so far I've been using Eclipse Juno and Mars with Force.IDE but really like IlluminatedCloud for its rich capabilities within IntelliJ.

Greatly appreciate your response,

Karine


Scott

unread,
Nov 9, 2015, 8:21:16 PM11/9/15
to discu...@illuminatedcloud.com
You can get the latest metadata from the org using Illuminated Cloud's integrated metadata retrieval feature.  You can access that feature using the menu bar (Build>Illuminated Cloud>Retrieve Metadata...), context menu (Illuminated Cloud>Retrieve Metadata...), or keyboard (CTRL+ALT+SHIFT+Y on Windows/Linux and CTRL+OPT+SHIFT+Y on Mac).  Once metadata retrieval is requested, you can choose the scope of the retrieval--project, module + dependencies, module, selection, or custom.  To retrieve metadata not yet in the local project, you must currently use one of the first three options.  To refresh a smaller, specific subset of the metadata, you can use selection (inferred from the currently selected file(s) in IntelliJ IDEA) or custom.

As for how often you might do this, there's no single answer.  I generally develop in a dedicated dev org, so I really only do it when I've made changes in the org using the Setup menu, e.g., creation of custom objects and fields.  For those collaborating in the same org, e.g., a shared sandbox, you might want to do this more often.  There are generally two main reasons you'd want to retrieve others' work: 1) to resolve/merge changes in the same metadata; 2) to get access to changes upon which yours depends.  For the former, Illuminated Cloud features conflict detection on deployment by looking for modifications to metadata requested for deployment by other users in the org.  As long as each user has a distinct login (I have an enhancement request to handle this for shared logins as well), you should be able to deploy whenever you want and only retrieve when you need to resolve/merge.  For the latter, team communication is going to be your best cue.  You might also consider using a version control system as your conduit of exchange rather than the org.

Hopefully this answers your questions, but let me know if it doesn't or if it just raises others!

ksogo...@gmail.com

unread,
Nov 10, 2015, 2:38:39 PM11/10/15
to Illuminated Cloud General Discussion
Thank you very much, Scott.  That worked for the project.  However, when I was trying to add a svn repository to the project/module, there seemed to be a disconnect.  

So if I want to check out a project from SVN which is a salesforce project, what is the correct order of doing things?   I tried to add Module from Existing sources, ie. SVN, and while importing it, IlluminatedCloud nature was detected which was great.  However, no matter what connections I specified, when I tried to Generate Offline Table, it kept complaining that no module is associated with that connection.   I am new to IntelliJ and a bit confused as to what to specify in the Project Structure -> Modules.  Also, somehow the Dependencies tab for the module does not show up. 

Thank you again for the help!

Karine

Scott

unread,
Nov 10, 2015, 11:10:30 PM11/10/15
to Illuminated Cloud General Discussion
Karine, I helped a user with this just yesterday in Git.  Unfortunately it's not as straightforward as I'd prefer right now.  Basically when you create a new project from a version control system, IntelliJ IDEA creates a Java module instead of an Illuminated Cloud module.  That's why you're not able to generate an offline symbol table.  If you want to do this completely from within IntelliJ IDEA, the (admittedly ugly) workaround is to do the following:
  1. Use VCS>Checkout from Version Control>Subversion to create the project/module from SVN.
  2. Create a new module of type Illuminated Cloud as a direct peer to the one created above with the same source root.
  3. Remove the module created from VCS so that you only have the Illuminated Cloud one for that source root.
  4. Generate an offline symbol table for the connection associated with the Illuminated Cloud module.
If you're comfortable on the command-line, perhaps a simpler way to do this is to create your Illuminated Cloud project/module and then use the CLI to checkout/fetch from SVN/Git/whatever into the project root, then just configure the IntelliJ IDEA project for the appropriate VCS system.  Either way I'd recommend you check the Illuminated Cloud module into VCS for your team to use so that this only has to be done once.  JetBrains has published a great guide on which project/module files should be shared through VCS:


I'm going to look at simplifying this process.  Having helped someone through it yesterday, I'm not at all happy with how clunky it is.  The end result works REALLY well, but it's a serious pain to get there!

Please let me know if this doesn't help you get SVN and Illuminated Cloud working well together.

Regards,
Scott

ksogo...@gmail.com

unread,
Nov 17, 2015, 6:14:13 PM11/17/15
to Illuminated Cloud General Discussion
Hi Scott, 

Yes, thanks, that worked for me.  I am still figuring out how the environment works but will let you know if I stumble upon new challenges.  

I do have a question about editing Static Resources.  One of the last plug-ins I downloaded for Eclipse was to edit zip static resource files http://sourceforge.net/projects/zipeditor/ and found it extremely handy.   Wondering if there is something similar for the IntelliJ studio.

Sincerely,
Karine

Scott

unread,
Nov 17, 2015, 6:31:53 PM11/17/15
to Illuminated Cloud General Discussion
Karine, there's not a plugin for IntelliJ to edit zip files in-place, but I did release a new version of Illuminated Cloud just yesterday that lets you work with archive-type static resources as bundle directories, seamlessly managing the archive resource on deployment and retrieval.  The following page and video provide more details:


Regards,
Scott

ksogo...@gmail.com

unread,
Nov 17, 2015, 6:41:22 PM11/17/15
to Illuminated Cloud General Discussion
Perfect!  Thank you so much!

Karine
Reply all
Reply to author
Forward
0 new messages