David and Jacopo,
Many thanks for your comments. I'm still undecided, but they helped anyway.
David, I appreciate your "thinking out loud" approach - I went through
the same chain of thought. We agree on what NOT to do.
One approach I had considered, (and mentioned previously) was having
each implementation (or notification process) follow a trail appropriate
for the implementation - that would eventually lead to a responsible
party, then look up that party's email address contact mech that has a
"Notification Reply Address" purpose type.
Some examples:
1. New fixed asset maintenance notifications would follow the trail from
the fixed asset, to the party related to it in the role of owner, then
get the notification reply address for that party.
2. New calendar event messages would follow the trail from the calendar,
to the party related to it as calendar creator, then get the
notification reply address for that party.
One problem with this approach is there is no single place where
notification reply address information is kept - each scenario is a
little different, which may cause confusion.
Another problem is the potential ambiguity of the "Notification Reply
Address" contact mech purpose type. What if there needs to be more than
one Notification Reply Address for a particular party? Maybe each
notification process could have its own contact mech purpose type to
look for. *shrug*
Anyways, I'll wait to hear more ideas.
-Adrian
Jacopo Cappellato wrote:
On Jul 23, 2008, at 8:12 AM, David E Jones wrote:
This is a good question...
For non-store (non-ecommerce) related things I wouldn't want to use
the ProductStore and related data structures, that would be a bit of a
hack (and actually the email settings on there are stretched a little
bit in this context...).
We may consider the idea of modifying the concept of ProductStore...
essentially adding a new OrganizationSettings (or similar) entity, with
most of the current fields of the ProductStore entity (and removing them
from the ProductStore) and adding to the ProductStore the
organizationSettingsId field to get them. We may also consider to move
some of the ProductStore* related entities (all the ones that may be
used without a product store e.g. email settings) to the
OrganizationSettings entity.
In this way, if a company XYZ doesn't want a ProductStore:
Party XYZ (internal organization)
|
|_____________> OrganizationSettings ABC
If a company XYZ has one or more product stores:
Party XYZ (internal organization)
|
|_____________> OrganizationSettings ABC
|
|_____________> ProductStore ABC1 (if organizationSettingsId is not
specified, defaults to the OrganizationSettings ABC)
|
|_____________> ProductStore ABC2 <---> OrganizationSettings ABC2
(specific settings for this product store)
|
|_____________> ProductStore ABC3 <---> OrganizationSettings ABC3
(specific settings for this product store)
...
There is probably something I don't like about this... but I am not sure
what it is, this will need to be refined, but I got the idea.
It would be a rather important change...
Jacopo
The easy place for this would be a properties file, but I don't like
that because we want to move business config into the database going
forward, and for all existing business level (as opposed to
technical/framework level) properties.
Okay, none of that is really helpful so far is it...
The from address is generally meant for a reply, as well as general
information. Would we support replies for any of these? If not we
might want to make the to and from address the same, or use a really
general system address as the from address.
Going beyond that we could introduce the concept of a "primary
internal organization" that is basically the org or company that owns
and runs the system. With that we could have an email contact info
associated with it like a primary purpose (or perhaps a new general
system purpose) and use that for the from email.
I'm interested in hearing other ideas... or in other words I'm not
satisfied with my own so far...
-David
On Jul 22, 2008, at 8:32 AM, Adrian Crum wrote:
We certainly could. In our implementation here, they are all free of
course.
I'm running into one snag trying to get this ready for the project.
On the notification emails, where should the notification service get
the "From" information (from email address, from company name, etc)?
In eCommerce, there is a ProductStore record that provides that
information. But what about installations that don't have a store?
Should we have a product store record set up for the internal
organization for things like this? I want this to be configurable,
but I don't know how to go about it.
In Asset Maintenance, I was considering looking up the owner of the
fixed asset, and using the owner's information.
-Adrian
David E Jones wrote:
That sounds interesting. I suppose we could even combine the two and
have paid subscriptions to events...
-David
On Jul 21, 2008, at 1:18 PM, Adrian Crum wrote:
Well, in my conversion I used the subscription entities and services.
Each application that implements this process has its own set of
subscription resources that the user can choose from (using the
parentResourceId). The user can then specify the from and through
dates for the subscription, and a notification email address.
Various SECAS exist to check to see if the user is subscribed to
the event notification, and if so, a notification email is sent to
the address found in the subscription. The SECAS are attached to
the corresponding CRUD services, of course.
I understand the subscription entities were originally developed to
represent a product that is sold, but they made a really good fit
in this scenario.
-Adrian
David E Jones wrote:
It sounds like a nice tool.
I'm a little confused though, what do you mean by the "built-in
OFBiz subscription services"? There are some things with names
like "subscription", and there are some email notification
services and such, but maybe you're referring to something else even?
-David
On Jul 21, 2008, at 11:47 AM, Adrian Crum wrote:
Some time ago I implemented a subscription system on our local
OFBiz copy, where users can subscribe to notifications about
OFBiz application events. Users can subscribe to events like new
calendar items, new forum messages, etc and the system sends the
user an email when the event occurs. At the time, either the
built-in OFBiz subscription services didn't exist or I didn't
notice them, so I wrote my own.
I recently converted our in-house subscription code to use the
OFBiz subscription services and it works quite well. I also
modified our Asset Maintenance component to allow maintenance
workers (or outside services) to subscribe to email notifications
when they are assigned to new maintenances.
Now our OFBiz users have a cool subscription summary page in the
MyPage component where they can see all of the events they are
subscribed to.
Would there be any interest in porting this back into the project?
-Adrian