Give me ideas for a Java action to implement!

10
Update: I upgraded my Random Data Generator Appstore module, containing Herbert's request. new features: Generate random data for all entities and the associations between them. Randomize current data in entities (but leave associations intact). Exclude certain entities that you don't want to randomize (including associations to them). Use sensible default values or setup your own custom randomization setup where you can select what kind of random data to generate. Get a report of generated/randomized entities. View things that went wrong, for example because an entity could not be instantiated or a certain attribute yielded Data Validation errors. Log process on Randomizer debug lognode. Exclude entities inheriting from System.User by default. Option to fill String attributes with a fixed text. Do not write to attributes that actually belong to a System module entity (such as System.FileDocument.HasContents). Automatically shorten random String length so it fits in a certain attribute. Deals with various special cases such as circular references and self references. old features: Call various microflows to generate a random primitive value of a specific type. Pass any object to a Java action to get its attributes filled with random values, including selection of a random enum value. Examples using batching. my personal wish list: Be able to define a mapping on a domain model, so you can select how many associations to generate between 2 specific attributes. Be able to exclude certain attributes within an entity. Allocate a list of possible values for a certain attribute, instead of randomly generating them. Optionally also generate binary attributes and/or FileDocument files (consisting of random binary data) Old post below: Next week on Friday we at Mendix R&D will have another so-called Research Day where we can do whatever we like as long as it is somewhat related to Mendix. Now obviously there are many many features we can do some research on to see how feasible they are but for this day I will try to implement a 'most wanted' feature in a Java action. I'll let you, the Mendix partner or customer, decide what I'm going to do by ways of upvoting in this forum thread. To make this clear: This is about a Java action that anyone could create, not something I will change in the platform itself. About me: I work on the Mendix Business Server (also called runtime or runtime server) that loads your application model, executes it and serves requests from the Mendix client. Keep this in mind when picking something. Some constraints: 1) It must be a problem that is currently not (easily) solvable without using a Java action. 2) It must be a well-defined problem that's possible to implement in a day. You're welcome to submit ideas but I may reject them due to complexity. 3) It can't be a very specific integration for some external system, i.e. it must have some use to a wide audience. Smaller features are welcome too, I might be able to do a few. The end result will be a Java action and/or a set of java classes. If the feature is really useful we can always consider integrating it into the platform but this is not a given. So let's hear some ideas and/or do some upvoting! Disclaimer: I have no idea whether anything non-trivial will be defined well enough by ways of a forum reply, I may pick more understandable features above the highest-voted ones if I don't understand the latter well enough to consider implementing them in a day. I also reserve the right to NOT follow through in case I am required for something else during this day.
asked
10 answers
5

A generic Java action to fill a domain model with random test data or a action to randomize/anomymize an existing database

answered
4

How about this: https://forum.mendix.com/questions/214/Determining%20if%20a%20microflow%20will%20finish

Edit by Bas: this is a joke by my colleague, don't vote on this as it's mathematically impossible :)

answered
3

A function that takes the field that it is attached to as a parameter, making it possible to reuse complex checks from 1 MF. Simple example would be an onchange MF that checks if the field contains a value higher than 0 (I know this can be done differently, but it's just an example). Currently you need to create 100 MF's if you have 100 fields that need the same check. If the field can be passed as a parameter there would only be 1 MF making it easier to maintain the code. Next to this the parameter could be used in the validation to show the message (could be a variable as well).

Not sure this is feasible without changes in the platform, but just putting it out there.

answered
1

Here's one suggestion, although I don't know how feasible it is. I have an application with anonymous access enabled where anon users are able to view local report records. However, in order to create their own issue report, they need to log in to the application. What I would like is a java action that can log in a user (from username and password attribute fields) but leave the user on the current form.

This means that from my New Report form, I can show the login fields if it is an anonymous user and log them in, while staying on the current form and not losing the data they may have already entered. In other words, a login event avoiding the Default Home Page or Alternate Home page forms/microflows.

answered
1

Create a java action to retrieve emails from an external email address and provide some routing or connectivity to Mendix objects. For example,

  • a Mendix CRM application sends appointment confirmation emails with a from email address of support@myapplication.com - using one of the AppStore available email modules.
    • customer receives email and responds to it with confirmation of time and date
    • this java action would retrieve those emails, and, ideally associate them with the customer that the email was originally sent to (through email address)

In this way,the customers info in the Mendix application would contain a record of email interactions with that customer.

answered
0

I know one. The ability so send a live push notification to a user (group). This way I can push a message to all users that are logged in that maintenance is starting and they should log out .

Regards,

Ronald

answered
0

Write an aggregation java action which calculates totals of many attributes based on associated objects and filters.

answered
0

I'm not sure it you mean a java action using the Mendix API or an inside job. I'm asuming the latter.

Idea: Let the runtime log the user in the lognode, so when using the lognodes, like in the AppStore database logger we can see which user caused the lognode. This helps in supporting, maintaining, debugging.

answered
0

In addition to my previous idea for adding a user to lognodes also add a session identifier and for lognodes that belong together like a start nodes - finished nodes add a start_stop-identifier. This helps me analyzing the log (using some automation).

answered
0

Add a string-concatenation function (or support the database ones for the different database platforms) in OQL. This helps selecting a combination attributes.

answered