HaxeFoundation / Project-Management

Project management and communication
20 stars 4 forks source link

IntelliHaxe - Micro Website/Installation Guide #48

Open ncannasse opened 8 years ago

ncannasse commented 8 years ago

Since we are done with HaxeDevelop, I propose that our next step in terms of IDE promotion should be to create a micro-website for easy download / install / setup the Haxe plugin for IntelliJ.

The official repository is here https://github.com/JetBrains/intellij-haxe but the active repo is https://github.com/TiVo/intellij-haxe (which I personally find not very practical for potential contributors or issues management)

The development of the plugin is handled by TiVo (@EBatTivo) with the help of @as3boyan which work is paid by Haxe Foundation.

Pinging @markknol @Simn on the topic.

larsiusprime commented 8 years ago

Would visual studio code + haxe be no. 3? (IntelliHaxe sounds great for no. 2!)

markknol commented 8 years ago

I am maybe interested to help on the website part of it, is there some relevant information available yet?

ncannasse commented 8 years ago

@larsiusprime I'm quite interested in VS Code support but last time I ask @jcward didn't have time to manage the project to bring it to the next level of usability, maybe that have changed?

Simn commented 8 years ago

I'm okay with doing this, but I don't think it should be much more than "Get IntelliJ, get the plugin, do 1. 2. 3. and enjoy!". I wouldn't even make a dedicated site for this...

larsiusprime commented 8 years ago

@ncannasse maybe, we should ask. Also I think there's others involved who could perhaps fill that role

ncannasse commented 8 years ago

@larsiusprime let's move this topic to a separate issue then

Simn commented 8 years ago

Let's not derail here please.

EBatTiVo commented 8 years ago

The state of things: TiVo took over development and maintenance of the Haxe plugin because JetBrains has abandoned it. They do not intend to support it directly again. All of the documentation about current development points to the TiVo github repo. JetBrains routes all requests for support to the TiVo github repo. They have even shut down the ability to file Haxe plugin bugs to their YouTrack bug service.

JetBrains has given @as3boyan access to manage the JetBrains github repo for the plugin. Usually (while Boyan was on contract) I would create a pull request and he would pull the latest up there. We can continue that practice again.

That said, the plugin is hosted on JetBrains' plugin website at: https://plugins.jetbrains.com/plugin/6873. It is regularly updated; we release about every six weeks.

The JetBrains plugin repo is by far the most convenient way for developers to get the plugin, because IDEA checks this repository for new versions every time it is restarted. Users get a notification of updates in the upper-right-hand corner of the IDEA window notifying them of the new release. Also, keeping the release available in the JetBrains repository makes finding and installing the plugin trivial for IDEA users. (Just go to the preferences/plugins screen, press the "find in repository" button, and type 'haxe'. An install button, a description, and release notes appear.)

So, even if we were to move the TiVo repository to the Haxe Foundation, is there much to gain besides the imprimatur of the Haxe Foundation?

EBatTiVo commented 8 years ago

BTW, don't get me wrong. I don't really care where the repository is hosted. I care that TiVo continues to have push access to the repository and is allowed to drive releases.

ncannasse commented 8 years ago

@EbatTivo we have no interest in hosting the plugin repository, I'm perfectly fine with having it being hosted by either tivo or jetbrain. My comment regarding repository was mostly that when you search for intellij+haxe you will find the intellij repository which seems less active and don't have opened issue tracker, making it harder for developers to report issues or contribute. Maybe you should simply ask IntelliJ to remove their repository, then use yours as main one ? But that's something for you to decide, I'm only suggesting.

ncannasse commented 8 years ago

@Simn yes I understand there's not much to do, but a nice micro site / web page like @markknol knows how to do would make it easier for people to get started. In the end we link the two websites (HaxeDevelop and IntelliHaxe) before and/or after people download Haxe from haxe.org so they don't have to search for information here and there that might no longer be up to date.

PS: I'm not an IntelliJ user myself, so I haven't tried it yet. BTW is it possible to use it with a free edition ? I've read different things on the topic

Simn commented 8 years ago

I really think a IntelliJ-specific sub-page of http://haxe.org/documentation/introduction/editors-and-ides.html would be sufficient for that.

EBatTiVo commented 8 years ago

BTW is it possible to use it with a free edition ?

Yes, in general it works, but some of the features do not exist in the community edition, so are not reachable there: Class and method hierarchies, and class diagrams. They should degrade gracefully. However, we don't do any formal testing of the project for Community Edition or any of the IDEA-derived projucts from JetBrains. We do limited testing with IDEA Ultimate. Nobody has a QE team for this product, so it's up to the users. :/

larsiusprime commented 8 years ago

I think a forward facing page would be useful, particularly one linked to the HD page saying "need linux or mac? use this!". I've already got comments from many about haxedevelop that it doesn't support mac/linux, which is the gap intellij fills. I would just not underestimate how easy it is to miss what options are out there for new haxe users.

EBatTiVo commented 8 years ago

A link to the README.md on the github.com/tivo/intellij-haxe site is a quick way to start. That's generally kept up to date by the plugin developers. That said, it can use a little bit of editing to be more user (as opposed to developer) friendly right now.

ncannasse commented 8 years ago

@EBatTiVo how do the users find about tivo/intellij-haxe in the first place? I still think a microsite would help to get first result on google and easy find for users

EBatTiVo commented 8 years ago

I agree that a microsite is useful. My point was that a 'quick-n-dirty' way to get started is to simply point a link at the README.md from the github repository. Or, even a link into the wiki for the project (which doesn't yet have that same data, but could easily). Longer term, the installation instructions should still point at the README.md for content because that is (generally) kept up to date. Keeping similar contents on two sites doubles the maintenance headache. If we like better styling, then, by all means, pass it through a CSS transformation.

Users find out about tivo/intellij-haxe a couple of ways: an as-yet-unavailable link from the Haxe Foundation's web site (your proposed microsite); the plugin documentation on JetBrains' plugin repository web site (second on google search) currently points to it for the source and the issues list; the CONTRIBUTING.md on the JetBrains github repository, being copies of those in the TiVo github repository also point to TiVo's version. We can (and should) make the pointers more obvious, though.

larsiusprime commented 8 years ago

Agree with Nicolas and Tivo, even if the microsite is a glorified static image with three links on it, that serves its purpose perfectly. Really important to have that out there on an easily google'able page rather than tucked away on the main site hierarchy four levels in.

ncannasse commented 8 years ago

@markknol you're ok to prepare us a page for it ?

markknol commented 8 years ago

It would be already nice if we have a few lines of instruction on the haxe.org editors/ide page.

EBatTiVo commented 8 years ago

The current instructions basically point to the JetBrains page for how to install plugins. It can do better.

What level of instruction do you think we neeed? Should we have a step-by-step on how to download and do a first-time set up IDEA? Or is it fair to say that folks should be able to figure that part out and we just need to tell them which dialog to use to install the haxe plugin?

EBatTiVo commented 8 years ago

OK. I've updated the installation instructions in the README.md. https://github.com/tivo/intellij-haxe/README.md. Only the "To install using IDEA" section is necessary, if you would rather copy than link.

Somebody probably ought to write a tutorial for using it, since it requires setting up a "Haxe Toolkit SDK", including setting paths to the haxelib and neko executables. This is done on the welcome screen using "Configure->Project Defaults->Project Structure" or from the main UI using "File->Project Structure". That's something that will have to wait for another day if I'm going to do it.

ncannasse commented 8 years ago

Couldn't we have an installer (or even install script) that takes care of having everything setup correctly?

EBatTiVo commented 8 years ago

@ncannasse Please clarify that request. What should the installer do? Should it set up everything for Haxe and IDEA, assuming a brand-new machine (e.g. including the Haxe toolkit, IDEA, sample project, etc.)? Or do you envision something simpler?

To use an installer outside of IDEA takes quite a bit of work, since you have to figure out the IDEA installation(s) and modify its configuration files -- not to mention multiple OSes and default scripting languages that are inconsistent. To create an installer inside of IDEA (during IDEA first-time setup) requires participation from JetBrains (which I think unlikely). To set up better defaults from within the plugin is doable, though not necessarily as easy as one might think. I suspect that a lot of developers have multiple Haxe installations. (I know for a fact that TiVo doesn't use anything like a standard configuration.).

as3boyan commented 8 years ago

BTW, if you open a *.hx in IntelliJ IDEA, it hints that there is plugin for it and prompts to install, maybe it is easier to do it this way, but Haxe toolkit still needs to be configured

mikicho commented 7 years ago

I'm totally understand why we need verity support of IDE's but... We shouldn't continue develop our main IDE (ie. HaxeDevelop?) From Nicolas opening massage it looks like we done with HaxeDevelop.