Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Show Posts

* | |

  Show Posts
Pages: [1] 2
1  Announcements and General Discussion / General Discussion / Re: Unrelated loading external swf in AIR on: January 02, 2009, 01:59:07
Many, many thanks for your answer Cliff.

Yes, the downloaded swf is from the Web.
I have done nothing regarding app domain... don't really understand that...

I will make some web search about it.
Many thanks again!

2  Announcements and General Discussion / General Discussion / Unrelated loading external swf in AIR on: January 02, 2009, 06:51:16
Hi all,

Happy new year to all!

I'm writting in this forum knowing it migth not be the right place but... Here's my problem:

Try to load external swf made with Flash+Papervision3D (by someone else I do not control) into an air app full screen. There is a security violation when the loaded app is trying to access the stage.
Everything is OK when the swf is loaded from the Air App application Directory...

Any idea? Many Thanks

@+
Patrick
3  Announcements and General Discussion / General Discussion / Re: Popup Window on: July 28, 2008, 04:55:52
Daniele,

This is a great answer to the problem of popups.
...
Since these methods are static, I would suggest a more appropriate place to put them might be a class like: com.me.myapp.view.managers.PopupManager.

-=Cliff>


Why not put it in the ApplicationMediator? It is already in charge of displaying things like login screen, splash screen...
The ApplicationMediator just listen for a notification to popup.
This avoid creating a new dir & a new file (that has to be imported)

Cheers,
Patrick
4  Announcements and General Discussion / Architecture / Re: Referential Integrity on: July 25, 2008, 08:43:44
Hi Cliff,

The mediator, along with relevant screen code, is in charge of displaying a 'map' of relations between the data to be erased/modified and others related, informing of the "usefullness" of that data in the complete system.
In this screen the user can interract to the question: "Are you sure?"

Ex for erasing a data:

1 In a screen, the user choose to delete a data, for example a "company department" by pressing the DELETE button
2 DepartmentMediator calls DepartmentProxy.delete(departmentVO)
3 DepartmentProxy do not yet interract with server.
4 DepartmentProxy calls ReferentialIntegrityProxy.checkUsefullness(departmentVO)
5 ReferentialIntegrityProxy ask the server for data related to this department. Upon answer, check from ACLProxy that user has the right to delete/modify related info & sends a notification with a ReferentialIntegrityVO as the body.
6 ReferentialIntegrityMediator receives notification and display through screen components the map of objects using this department, if any.
7 The user is invited to confirm or infirm his previous decision to delete "Are you sure?" but he has now the full info to take his decision.
8 ReferentialIntegrityMediator calls the appropriate action ReferentialIntegrityProxy.confirmDelete(ReferentialIntegrityVO)
9 ReferentialIntegrityProxy calls the DepartmentProxy.deletionConfirmed(departmentVO)
10 DepartmentProxy reqsuests the server to delete it...

Thanks again.
Patrick
5  Announcements and General Discussion / Architecture / Referential Integrity on: July 25, 2008, 06:07:47
Hi there,

Need to implement referential integrity at the user level:

When a user deletes or modify a data (he is allowed to do it), a "Controller" verify that this action won't hurt something:
  • that data is not used by an other (for example is a property of an object) or if yes, the last is not used itself by an other (could be changed/erased too)
  • the user have acl authorisation on modifying/deleting the data potentially related to this one
A screen should display data relational mapping, asking for instructions based on acl.

In order to keep advantage of "Rich Client", the Flex interface should handle this and let the server serving info, mostly "raw info" (not aggregated). I'm I Right ?

Each DTO has its own proxy.

I thougth I would use a proxy to handle integrity checking, requesting the server for something like "Tell me what is related to this". This ReferentialIntegrityProxy would be called by DTO proxys upon their own delete() or update() commands.
ReferentialIntegrityProxy sends a notification. A ReferentialIntegrityMediator deals with user interaction. ReferentialIntegrityProxy command the DTO proxy to allow or not the action.

Is it best practice?

Many thanks,
Patrick
6  Announcements and General Discussion / General Discussion / Cyclic update for datagrid or TileList on: June 09, 2008, 02:32:03
Hi all,

For a real time monitor, I need some update of some values, but NOT all, from a list of data.
My Proxy is taking care of keeping data up to date.

How do I make my display list to be updated?

Does my mediator reload ALL the data whether it was updated or not, or... what????

Many thanks for your help.

Best regards from France,
Patrick
7  Announcements and General Discussion / General Discussion / Reserved notification constants on: April 22, 2008, 01:58:02
Hi all,

I just spent 3 days on a bug, so hope this will make life easier for someone...

ApplicationFacade.FILTER (filter)
ApplicationFacade.SORT (sort)

Do not work when registering a mediator with these words in the list of notification interests
PureMVC -> view.as line 89 consider them as function name and the compiler cannot cast them to Array...

Cheers,
Patrick
8  Announcements and General Discussion / General Discussion / Re: Is VO a good place for constants? on: April 15, 2008, 07:11:56
Thanks Cliff!
9  Announcements and General Discussion / General Discussion / Is VO a good place for constants? on: April 15, 2008, 03:45:30
Hi all,

For constants that are only used along with the use of a VO, can that VO hold the constant definition?

Ex.: a UI component ACL state (READ_ONLY | MODIFY | ACCESS_DENIED)

Thus in a complex nested components view with a single mediator managing them, there would be no need to pass the constants definitions down the UI hierarchy, the VO would transmit it.

Good Parctice?

Many thanks,

Cheers
Patrick
10  Announcements and General Discussion / Architecture / Re: Transversal functionalities on: April 02, 2008, 12:18:38
Thanks Cliff!!
11  Announcements and General Discussion / Architecture / Re: Transversal functionalities on: April 01, 2008, 02:15:31
Could we accept that any Business Object proxy could talk to 'transversal proxies' directly?

Ex.: ProductProxy set/retrieve data via exposed API to/from:
 - ConfigProxy
 - LocaleProxy
 - AclProxy
 - ValidationProxy
 - MessageProxy

Good practice?

Cheers all,
Patrick
12  Announcements and General Discussion / Architecture / Transversal functionalities on: April 01, 2008, 01:22:43
Hi again,

In any project I could imagine, they are transversal functionalities, which apply the same logic in any Business Object (User, Product, Agenda...) like:
  - localisation of labels
  - form validation
  - user feedback messages
  - acl management (admin could access any fields but user can modify only few of them, ex. user can change his password, but admin can change the username)

Those do not integrate very well with notification process who are more 'verticaly' or 'channel' oriented (from proxies to user interfaces and vice-versa)
To make a comparison with a company, notifications are the reporting to/from the hierarchy, but general services (HR, office supplies...) are transversal and have a cross services structure.

Any idea how to implement such layers in pureMVC??

Thanks all
13  Announcements and General Discussion / Architecture / Re: 2 notifications??? on: April 01, 2008, 01:09:36
So do I understand well:

proxy:
sendNotification( ApplicationFacade.PROXY_USER_EVENT, complexObject );

facade call ProxiesEventCommand which:
  - manipulate MessageProxy to store customized & localised info
  - sendNotification( ApplicationFacade.USER, [ApplicationFacade.GET_ACTION, userVOExtractedFromComplexObject], ApplicationFacade.SUCCESS );

UserFormMediator is listening for USER and handles depending on note.getType()
MessageMediator is also listening for USER but go & search the appropriate message in MessageProxy

MessageMediator is listening for any Business Object in the project (User, Product...)

Am I right?
Thanks,
Patrick
14  Announcements and General Discussion / Architecture / Re: 2 notifications??? on: March 30, 2008, 12:22:16
Thanks for your answer Cliff.

You exposed a way to cut down the number of constants.

The second part of the question was on the 2 different uses of a proxy event (success | failure...):
 - one for the display object through its mediator,
 - one to display message to the user.

Message display may have different 'depth' depending on the user (short for current user, detailled for admin?)
With icons or styling different for a 'critical' message or just warning or simple info acknowledgement.
But a MessageMediator cannot listen for all the business objects notifications (too many).
Thus, the idea was to send 2 notifications from the same event of the same proxy (proxy data success | faillure | pending) targeted to different mediators.

Good practice?

Thanks again.
(Raining sunday in France)
Cheers,
Patrick
15  Announcements and General Discussion / Architecture / 2 notifications??? on: March 30, 2008, 07:41:54
Hi there.

I know, its Sunday. so most of you are luckily not working...

Regarding notifications from proxies.
I can see 3 different info types in one ApplicationFacade constant:

For example: PRODUCT_GET_FAILURE

 - PRODUCT -> deals with the Product BO
 - GET -> the action on that BO
 - FAILURE -> result of the previous action

Generally, they are two sort of "actors" looking for that notification:

 - Product display mediator: interested to know if its about its BO (PRODUCT here), and if it was successfull (might not even worry about which action it first send)
 - User info mediator: which might not mind about the BO, but only the action and its result for displaying message such as 'Item updated' or 'List not loaded' but with an extra parameter, the level of info: 'critical' might be displayed by an Alert, 'warning' or 'info' by a status bar in the bottom of the screen.

Having a lot of BO & proxies lead to an enourmous amount of constants in the application facade.

If the notification sender could send 2 notifications instead of 1, then a MessageVO could be send in the body of the MESSAGE notification. This Message VO can have a lot of info (short text, long desc, level,...) that "business objects mediators" dont care about.

The number of constants will be divided because the need is then:
Generic constants: MESSAGE, ERROR, WARNING, INFO, FAILURE, PENDING, SUCCESS
USER (the GET info could then go inside the notification type)
PRODUCT,
...

Also, a MessageProxy could be used to keep reference of the last message and, when ConfigProxy->debug info is true, could log the messages as a shared object for the admin to check later on.

Is it Best practice?

Cheers
Patrick
Pages: [1] 2