Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
May 21, 2012, 02:41:16 AM
Home
Forum
Documentation
Search
Help
Login
Register
Gaia Framework for Adobe Flash
>
Forum
>
Support
>
Feature Requests
(Moderators:
Nemo
,
Ramiro
) >
Some more request on Gaia !
Pages: [
1
]
« previous
next »
Print
Author
Topic: Some more request on Gaia ! (Read 456 times)
thienhaflash
Gaia User
Posts: 10
Some more request on Gaia !
«
on:
June 13, 2011, 10:01:14 PM »
Hi everyone, i've add a post to my blog (
http://thienhaflash.wordpress.com/2011/05/31/ongaiaframework/
) regarding my experiences with Gaia framework with some features i would like to have, have a look through and tell me what do you guys thinks ?
After using Gaia for a long time with numerous websites built, i can tell you that completely like it as the workflow is simplified so much, i really love the scaffolding, assets managements, contextMenu, event hijacking, routing, assetPath, tracking, binding expression, the complete integration of SWFAddress, SEO ... everything ! But that's not to say there are no more room to get improved !
A little bit more on deeplink, ApplicationDomain, and Scaffold :
When a page is not yet load, we tell Gaia to go to a page with some deeplink, the onDeepLink is not called, why not check and call it manually so developers don't need doing that themselves ? <will i need to insert sample code here (?)>.
The domain in site.xml should be "current" by default as that's beginner assumption if they don't know anything about ApplicationDomain. I myself don't use domain other than "current" very often.
How about one toggle button to enable / disable scaffolding in Gaia panel instead of // on every file in the constructor to toggling them on/off ?
Better automatic pages creation
: How about we just need to specify a layout folder, Gaia will automatically generate the site.xml based on the pngs / jpgs files in that folder, we can add some naming rules for these files, of course ? And in the generated flas, a layer is also created with the corresponding layout file so we can have a quick reference, we can make an option for user to choose if they want to guide the layer or not ? And of course we can always change the site.xml file then sync if the generation is not perfectly match our idea.
Visual pages creation in Gaia panel
: It's easy to open site.xml and edit it, yep, but why should i leave Gaia panel ? How about adding a visual tree then we can add pages just as folders (index should be the root and can not be replaced ? ) and assets can be represented just as files ? Adding / Removing (or even disable items are now visual and quick). This will make Gaia even easier to beginners. For advanced options (other node properties beyond id, src, title) we can either have a datagrid that only show when a page is selected (hey, this is visual, quick, easy and safe as we don't need to remember the node's properties) or ignore these and let developers change the site.xml file whenever they need. For temporary removing a page, we can uncheck the box that goes before each page (equivalent to commented out in site.xml ?)
Enable template for pages
: There are many case that we have several pages with just the same or mostly the same (gallery, video for example), just different data. What if we can define template pages and then specify the template for each page created in site.xml ? This will minimize the efforts for creating multiple deeplink pages with the same structure, the only different is the asset data. If we agree on implementing the tree based pages creation above, we can add visual template binding to pages, too. <do i need to insert a suggested layout for this one here ?>. This also allow us to write simple site editor based on template pages. All we need to do is open site.xml and add more pages based on the existed templates, no rebuild/ scaffold needed for adding / removing pages that are based on the template ! And hey, it's more lightweight !
Enable option to switch transition style of a page between timeline / code
: There are times when you need to do page animation by code (dynamic data, liquid size ...) together with some kind of an intro page, so you will need to create pages using actionscript template except one or some pages, how can we do then ? We need to manually copy the frames in the template .fla files and paste ? Any better way?
One more Quick Build button
: When we modify a page, most of the time we only need to build it then open main.swf, this works faster for big projects, especially for projects with many pages, so how about allow us to select the pages to rebuild for faster project test ? The idea is we will now have 2 build buttons, a big one for complete project rebuild and a smaller one to build only selected pages?
Better content layering settings
: Gaia currently only allow one page to appear a time (with its ancestors, of course), what if we need some overlay content ? We mostly will need to implement it in the nav page with will available for all children pages. What if we need some background content ? We mostly will need to put it in to the index page, that will make these pages a bit more heavy and mostly we can not reuse the code. Why don't let us specify layers in site.xml ? and then for each layer, there are only one <content> to be shown at a time ? That means we can easily have multiple overlay contents, for a common setup we will have 3 layers : <background><content><navigation>. This way we can write overlay plugins and reuse multiple times.
There are several library i would like to add to Gaia, too, but it still seems better keeping them separated : Font creator, Liquid Manager, Language Manager, Menu system ...
I'm available for contributing to improving Gaia framework, Steven, if you don't have enough time to implement all this, contact me, i can help !
Logged
steven
Gaia Author
Administrator
Gaia Evangelist
Posts: 3871
Re: Some more request on Gaia !
«
Reply #1 on:
June 13, 2011, 11:31:03 PM »
Thanks for your great feedback!
I don't understand what you meant by the onDeeplink thing. I'm guessing you mean where you need to call deeplinkHandler(Gaia.api.getDeeplink()) in the page constructor? I'm pretty sure I had a reason for enforcing this, but I'll need to revisit the code to figure out why. It might be worth changing!
Flash uses "null" by default, which is one reason why Gaia uses it. I do see numerous people have issues understanding this consequence (specifically the variables between pages via singletons or global statics). I might change it, but the consequences of using current is that it can cause unwanted behavior that is harder to explain or even know that it is the culprit unless you have a lot of experience with it. The lesser of two evils (from a support standpoint), really. You can always set domain="current" in the site node if you're confident with it.
Adding naming rules to images is cumbersome and too easy to mess up. Many agencies have very specific (and sometimes inane) naming conventions for their files. We're not going to convince them (or Flash developers) to change the file names just for this feature. On the other hand, it's very easy to edit xml while comparatively a pain to rename files, especially if there's a lot of them. It seems like your could build an AIR app to generate site.xml off of some images in a folder if you really wanted to. Also, you might be able to write some JSFL that would import the bitmaps and align them top left without too much effort. I don't see how this would fit into the panel or generic Gaia workflow, though. It seems pretty edge case.
There's already a visual site.xml creation tool out there. Give it a go:
http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor
The template class for pages shouldn't be in the site.xml. This is what the templates folder is for. Go into the templates folder and modify the ASPage.as file to extend your custom template class (which extends AbstractPage). Then, scaffold, and every template class will use your modified ASPage.as class.
You can always rescaffold a page if you want to change its transition type. It's really trivial to switch between the two, regardless. It's easier to go from AS to timeline than the other way around, so scaffold as AS and modify as you need to. The reason that there are two .fla files is because there's a bug with JSFL where removing frames from the timeline to go from timeline template back to Actionscript template caused the .fla timeline to become corrupted. So, this is why there's no switching back and forth on the fly in the panel. It's a technical limitation and really, the level of effort behind this feature doesn't balance against the amount of time it saves compared to the larger time savers that Gaia truly shines at.
You can uncheck the entire project in the publish panel and then only check the page you want. From then on, the build project button only compiles the checked page and does not compile main.swf (if left unchecked). In CS4 and above, you can assign this to a keyboard shortcut. If you want to do the entire project, you can just click on the top folder in the tree and all the files will be checked again. Is this not sufficient?
I use asset swfs so my nav and index pages don't have to be so heavy. Sometimes, I'll set them to preload="false" in order to lazy load only when I need them. I think that putting that level of depth control in the site.xml is trading one level of complexity (xml) for another (Actionscript), when really, detailed depth control belongs in Actionscript. Maybe I'm not understanding your request, though.
Logged
Steven Sacks | Gaia Author
Please support Gaia by
donating to the project!
thienhaflash
Gaia User
Posts: 10
Re: Some more request on Gaia !
«
Reply #2 on:
June 14, 2011, 01:56:03 AM »
Hi, Steven, thanks for the quick reply !
1.
I don't understand what you meant by the onDeeplink thing. I'm guessing you mean where you need to call deeplinkHandler(Gaia.api.getDeeplink()) in the page constructor? I'm pretty sure I had a reason for enforcing this, but I'll need to revisit the code to figure out why
Yep, i mean we need to check and call the onDeepLink manually in the constructor, i don't really understand why, it might because the onDeepLink need a GaiaEvent Object which you do not have right then to pass by, dispatching a new deeplink event after the page load might cause some kind of unstoppable recursive, i guess. How about we only send a string to onDeepLink instead ?
2.
Adding naming rules to images is cumbersome and too easy to mess up.
Yep, you are right, i may come to a custom pannel build for my purpose, might share around someday if it's working fine.
3.
I do see numerous people have issues understanding this consequence (specifically the variables between pages via singletons or global statics)
Yep, while teaching some new developer work with Gaia, i have a hard time explains how ApplicationDomain works to them. I believe this is not necessarily complex, Gaia mean to be fast and easy, so let's change it ! If you are still not sure which option is better why don't we raise up a poll for changing this ?
4.
There's already a visual site.xml creation tool out there.
I would like to have a visual page creation tool inside the Gaia panel, that way we don't need to leave flash IDE, something like a Tree component will work best. I don't see why we need an external tool for this feature ? We can move around, change the names, properties when we select a node. I don't mean to insult anyone, but the GUI of that Air app doesn't very user friendly, we can do it better and integrate into Gaia panel ! What do you think ?
5.
The template class for pages shouldn't be in the site.xml. This is what the templates folder is for. Go into the templates folder and modify the ASPage.as file to extend your custom template class (which extends AbstractPage). Then, scaffold, and every template class will use your modified ASPage.as class.
I'm sorry that i may not explain very clearly as i'm not talking about the Gaia template folder. I mean that some pages, more or less, just the same (only use differrent data set), and why should we have one .fla / .as files for each page as we know will never modify it separately.
For example, we have a
photo.swf
that being reuse by several pages (portfolio, featured works, portfolio / selected works, portfolios / on progress ... ). The current process is creating
photo.swf
separately as a component, then for each page, we have
photo.swf
as an asset. And the code for these pages are just the same : read the xmlasset, populate to photo.swf, transition in, transition out ....
What i suggest is that allowing different pages to have the same src property. In this case, we will have all the pages with different ids, but the same src point to
photo.swf
. When Gaia create pages, it should create only one
PhotoPage.as
/ one
PhotoPage.fla
/ one
photo.swf
Your suggestion is that i should change the template .as file. No, it's not the case, as not all pages are photo page, together with the photo pages, we can have several info pages that share the same info.swf
This not only minimize the time needed to rebuild, the project will be much more clean. Also, we can add more pages into site.xml without opening the project up in Flash IDE, scaffold, rebuild, this will help a lot when later on, clients want to add/remove some more photo / info pages
6.
The reason that there are two .fla files is because there's a bug with JSFL where removing frames from the timeline to go from timeline template back to Actionscript template caused the .fla timeline to become corrupted
Ok, so it's fine, i can do it manually.
7.
You can uncheck the entire project in the publish panel and then only check the page you want. From then on, the build project button only compiles the checked page and does not compile main.swf (if left unchecked). In CS4 and above, you can assign this to a keyboard shortcut. If you want to do the entire project, you can just click on the top folder in the tree and all the files will be checked again. Is this not sufficient?
Ok, my fault, i didn't use that before !
- just open main.swf manually
Thanks for the tip, it's a shame not knowing this for a long time
8.
I think that putting that level of depth control in the site.xml is trading one level of complexity (xml) for another (Actionscript), when really, detailed depth control belongs in Actionscript
I'm not really sure why layering pages in site.xml might increase the complexity of actionscript ? can you please explain more as we don't control anything in actionscript then, each layer works separately ?
thanks for your time
Logged
Pages: [
1
]
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
Downloads and Information
-----------------------------
=> * Download Gaia *
=> Lessons, Examples, Tips+Tricks, Mods and Utilities
=> Gallery
-----------------------------
Support
-----------------------------
=> General Gaia Support
=> Gaia AS3 Support
=> Gaia AS2 Support
=> Feature Requests
=> Non-Gaia Questions
-----------------------------
International Support
-----------------------------
=> Deutsche
=> Español
=> Français
=> Italiano
=> Português
=> 日本語
TinyPortal v1.0 beta 4 ©
Bloc
Loading...