Apparently, the ExtJS' forum isn't working anymore, so asking the question here.
I am trying to upgrade ExtJS integrated in a big application. Currently, it's using version 3.4.1 and I have to upgrade it to 7.5.0, so a lot of changes are expected. It's my first time working with ExtJS. I've been reading their documentation & examples for a while now, but I'm having issues understanding some things.
If someone's experienced with ExtJS, could you tell how big is the difference between these versions? What kind of effort is expected for this upgrade? Will I have to rewrite everything, or just changing files and API calls would be enough?
Another thing is that the folder structure in the new version looks quite different from the older version. Ours using 3.4.1 looks like this -
ext-js 3.4.1 image
There are no new adapter or resources folders in the new verion. Are these folders not required anymore, or is it possible to get the same folder structure with the new version?
Is it possible to download older versions of ExtJS like 4.x, 5.x etc.? I tried but couldn't find it, I was able to download the older documentation though.
Downloaded the latest ExtJS version from here.
Referring this Sencha ExtJS documentation.
Any help would be appreciated. Thanks in advance.
Download
You should download the version from support.sencha.com. There you can find all versions.
To access the download page, you need to log in. If you have lost your login, you can contact Sencha's licensing department.
Make sure you have a valid license.
Upgrade
If you are new to Sencha, you should not do the work yourself. Between version 3 and 7, there are at least two new coding paradigms and you'll have to rewrite everything. Unfortunately, there is no easy upgrade process from 3 to 7. If you had to upgrade from 5 to 7, it would be possible to ignore all the cool new features, but if you are starting from 3, you will have to rewrite everything.
Building process
In your screenshot, I can see that you are using the full ExtJS file. But are you really building the application? That means you end up with a single js file and a single css file.
Are you building your application?
Are you using SCSS?
You should definitely contact someone with experience. I've done quite a few upgrades in ExtJS to know that you need help with this.
Related
TWO very related questions in this post.
How to install 6.5 & 6.5.1 in eclipse(more detail below)
Intellij Toolbox last version supported is 2019.2.4 but looks like codeone plugin doesn't support it?
In intellij, codenameone 6.5.1 simulator is not working(font is way too small) but it's working in 6.0.0 with my eclipse(from when I played with it 6 months ago). I am trying to test out each version to see what the latest version is that is not broken for me(hopefully at least 6.5). When I go to eclipse marketplace, there is no upgrade and it just shows this for codename one (eclipse verison 2020-06 as I clicked update all)
I don't see a way to download a zip file and install it in eclipse and only see the install from marketplace method here
https://www.codenameone.com/download.html#step2
Is there a zip download for eclipse somewhere I can try of 6.5, then 6.5.1?
I also want to try to downgrade my intellij version but we also need the latest so I grabbed the new intellij toolbox but this only goes back to version 2019.2.4. The compatibility list on codenameone plugin is such
I wonder about that first line for 6.5.1. A dot release and they added support all the way back to 2016 version which 6.5 didn't have? Seems like a type. Also, 6.5.1 did not work with latest intellij and honestly getting worn down in playing the version mismatch game of uninstall/install to see what works and doesn't work (it's just takes quite a bit of time).
If anyone can post a STABLE list of IDE version / plugin version they are using, I would LOVE to know that <- If I know that, I will just jump to that. I can cope with eclipse or intellij. In fact, eclipse debugging is way better and intellij refactoring is way better so I am always torn between each.
Trying 2019.1.4 with many versions next.
Figure this out finally. Not sure exactly but this repo https://github.com/deanhiller/codenameOneExamples
now works with latest intelij 2020.1.3 !!
I recently read FIRST CLASS ECLIPSE SUPPORT which made me expect a cn1lib-wizard. But there still is none, right?
The gist of the article is that we will update the Eclipse plugin with the NetBeans & IntelliJ versions. With the trend of migrating towards common code across IDE's within our plugin (the new settings UI) this should be much easier and Eclipse should no longer be out of date with the other IDE's.
I'm not sure when we'll get around to do the library template, unlike the other features it requires some work since the Ant implementation on Eclipse is rather different. So it's hard to give a specific date.
I'm developing on an application that wasn't built using sencha command. Right now we are using extjs 4.2, but we need to upgrade it to extjs 5 or 6. Preferebly extjs 6. Furthermore, our application does not follow the structure of MVC.
Is it possible to convert the application so it uses sencha cmd somehow, when it wasn't created using sencha command?
If not, what will be the easiest and most comprehensive way to upgrade to extjs 5 or 6? I have tried this approach: How to upgarde my Extjs application from 4 to 6?
but after some fight, I am still not able to make it work.
extjs 4 uses ext-all.css. Is there a way to get the semilar file in extjs 6, that I just can't find?
Has any of you succeeded in upgrading to extjs 6 without using sencha command? Our application is pretty big, so deleting everything and start a new application as a solution, is not an option
Thanks for any help you can provide
I would recommend to use Cmd, as this will reduce your application's footprint. I would recommend to upgrade to the latest framework version available, since the amount of work required should be the same whether you switch from 4.2 to 5 or from 5 to 6 or directly from 4.2 to 6.2, and one less of these "full upgrades" mean less testing and less overall work.
I cannot answer question 4, because we did already use Cmd with ExtJS 4.2, but the other ones as follows:
To convert your existing app into a Cmd application, you would create a new application with Cmd (going by the same name, located in a different directory) first, and then move over all the old code into the new application directory. Cmd doesn't care whether you follow MVC structure or not, as long as file names and component names match (MyApp.someName.someOtherName.SomeComponent should be defined in app\someName\someOtherName\SomeComponent.js).
Please note that upgrade of big applications from 4.2. to 6 takes months, not hours, because there are so many API changes forcing you to change your code and test and change and test. You could fill a book with all loopholes I encountered when I upgraded our application. The upgrade was really a good thing, though - I came across nearly all code from back then when I didn't know shit about ExtJS, and while I was debugging, I made major refactoring and code improvements (including full switch from CSS to SASS).
If you choose not to use Cmd, precompiled stylesheets are in build\classic\theme-<yourtheme>\resources folders.
Yesterday I downloaded the new Agile Toolkit 4.3 and found that the licensing and subscription model has been changed. Additionally a "developer sandbox" has been included which launches when the toolkit is first run and requires me to login with a registered account.
While I understand the reasons for these changes, and I'm fully supportive, the sandbox appears to be unnecessarily restrictive. However, there seems to be no easy way to bypass the sandbox, and logging in to the sandbox in a vanilla install of 4.3 leads to a screen where you are forced to choose between a pre-canned Admin or Frontend site.
The key reason for me to upgrade from 4.2 to 4.3 is the introduction of an Application class to support RESTful services. I have no need for either an Admin, nor a Frontend web user interface and yet the sandbox does not provide this option.
Is it possible to bypass the sandbox setup process and, if so, how would one go about doing this?
Looking at this in a different way, the folder structure of the ATK4 library seems to have changed under 4.3. Version 4.2 included documentation on the folder structure and how a developer should setup their application in relation to that structure. I have been unable to find corresponding documentation for Version 4.3 which would give clear guidance on how to build an application around the toolkit without relying on the included sandbox.
Hi Tim (i'm author of Agile Toolkit)
Agile Toolkit framework will continue to be available on github. You will find link to github on the bottom of the page, simply select branch 4.3. All of the documentation still applies and you can use the framework (you still need to respect the license). Github does not contain "admin" or "frontend", it is included for the convenience of new users.
The licensing terms has slightly changed, Agile Toolkit has always used AGPL and Commercial licensing. The reason to introduce the sandbox is because developers were not respecting the license terms. I also wanted to give easier ability to deploy projects for new PHP developers and for security it can only be done through sandbox.
Here is a blog-post outlining all of the changes: http://www4.agiletoolkit.org/blog/rebooting-agile-toolkit
The folder structure have changed, but it must still be compatible with the 4.2 branch. I've adopted the usage of "public" folders for improved security, but please do look into PathFinder documentation on how to customise folder structure.
I've been looking around to find the release notes for the latest releases but I couldn't find it. Anyone have a link?
Different parts of the project have different logs of the changes between versions. The most comprehensive changelog for the project is the one for the Java language bindings, and it can be found here. Other portions of the project may have their own changelogs, but they are usually limited to changes only within that part of the project. Examples include the changelogs for the .NET language bindings and for the IE driver standalone server.