Hi all,
I can't make my rules inherit from category rules.
I saw a JIRA reporting a malfunction for this, but it shoud be corrected.
I am using version 5.0.1
I tried a category rule writen un DRL, or in BRL. Same for rules that
should inherit the LHS (tested with pure DRL, BRL ...) from one of
y problem (I checked in the 5.1
trunk, and it is the same code for that method), and for the
ordering constraint.
Let me know your feelings about that.
Le 22/09/2010 14:44, Vincent Legendre a écrit :
Hi all,
I can't make my rules inherit from category ru
Hi,
May be you can use the WebDav part of Guvnor, just like the Eclipse
plugin does to synchronise files.
But I don't know if Guvnor will then be updated automatically, or if
you must go into package configuration and validate.
May be you can create a new s
Hi,
The follwing error seems to mean that context is defined twice. May
be that "context" is a reserved global variable in drools 5.
Try to remane it in your rule, and check doc for more explanations
com/playspan/rule/Rule_PayPal_EmailVerificationCheck_0Eval0In
Hi,
In your fisrt post you mentionned that the test is ti check that your
array contains ALL 3 string.
Thus this is not a OR, but a AND
Using Thomas trick which consist in given elements as facts, you could
use a rule that looks like this :
rule XYZ
$p : MyContext
ClassName(parent =
g/mailman/listinfo/rules-users
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A rue de la Porte de Buc 78000 VERSAILLES
Tél. : +33 (0)1 39 07 12 40
Direct : +33 (0)1 39 07 26 1
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
listinfo/rules-users
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A rue de la Porte de Buc 78000 VERSAILLES
Tél. : +33 (0)1 39 07 12 40
Direct : +33 (0)1 39 07 26 16
__
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A rue de la Porte de Buc 78000 VERSAILLES
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A r
is up.
Is drools scheduler the right tool for this job or could you
suggest something better?
Thank you for any insights you all have.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org
ourse all of this suppose that the "100% sold" amount of click
is a constant ...
Le 31/12/2010 12:23, Vincent Legendre a écrit :
Hi,
If I understand well :
- you have only one ad at a time, displayed at least 10 minutes
an
My own feelings about that is yes, rules writer must know the objects
they manipulate.
So, to answer your question, if the object model is very technical, Devs
must write rules. If not, BA can do.
The main point is how much technical is your model objects. If you are
starting a fresh new applic
Just to bounce on DSL considerations
For me DSL as they are provided in guided editor are not suitable for
real-life projects, because :
- parsing is too simple, and then force the rule writer to have a
good idea of how it work, and what is behind the DSL phrase they use.
- the guided edit
ailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinf
Le 01/03/2011 15:39, ioda100 a écrit :
Thanks for your quick answer Esteban.
1) Ok i will have a look at DSL. In fact in my map i know all the
properties (about 200). It would be cool to be able to have a drop
down list with all these attributes as when we do it with objects for
which we gave
list but
impossible to have "prop1" to "prop5" in a drop down
list for attributes of the Map.
Would it be possible to create a Pojo for Map or would
it be in conflict with the Map
For your problem of different instances of a map : If you want to match
2 maps, and compare them, your have to set a placeholder in your DSL to
set the variable's name
[when]The property {key:ENUM:Map.properties} of the map *{mapVar}* is
{value}=*{mapVar} *: Map((this["{key}"] == "{value}"))
*
I will rethink of POJO but i think, it will be more ennoying to update
any change. I will need a reference to these maps in almost every case
in the THEN clause so not a big problem finally.
It's up to you. With a POJO you can implement Comparable using your time
slots, and all other common be
> I just tried to make a pojo. But i will have to do a single Pojo
> called "Map" with all the properties? Right now i had 4 Enum. Here i
> will have to have all in the same POJO with name "Map".
No. Don't name the Pojo "Map" ... And create as much Pojo that you have
different enums. Make them
I've just created 2 class like you show me with some changes to fit
and test all (timestamp are long in fact, i have put int, double and
string as well)
In the second class you don't need the attributes as members, because
Drools uses get / set methods to deduce them, and anyway you never use
> Yes i created rueles with guided editor and it's working with my
> attribute. is there a way to remove "empty", "entrySet", "keySet",
> "clone",... herited from Map. So i would have only the attribute i
> have defined?
Don't make the POJO extends Map, but containing a map.
>
> i have always u
Am I overlooking something simple here?
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A
Le 15/03/2011 22:53, jwest a écrit :
> However, I don't know how to make this first line more complex using
> the guided editor.
> For example, you can hover on the second line of the rule and click on
> it and the shown dialog pop ups, allowing me to make this line more
> complex through adding
I was pretty sure to have seen something about sample BRL from Guvnor
appears in error in eclipse.
I can find some on JIRA, but never the same problem I have ... May be on
another forum, but not JIRA ...
Anyway, my problem is using DSL in BRL opened with eclipse plugin Guided
Editor. Seems that
Just wondering.
But what about Android ?
Does anyone already make drools work on it ?
Le 19/03/2011 04:54, Lucas Amador a écrit :
To have a minimal Java support you have to jailbreak your iPhone/iPad
and install jamVM using the console. The last time I tried the
compiler wasn't able to compile
And what about ruleflow-group ?
There is no network filtering for that too ? The ruleflow-group behaves
like an agenda filter, but still evaluate all nodes ?
Could we imagine setting "tags" to nodes, and stop propagation for node
that does not declare the current task tag ?
Le 21/03/2011 14:2
conditions
which control which rules are actually activated in what order.
Thomas
*From:*rules-users-boun...@lists.jboss.org
[mailto:rules-users-boun...@lists.jboss.org] *On Behalf Of *Vincent
Legendre
*Sent:* 21 March 2011 13:34
*To:* Rules Users List
*Subject:* Re: [rules-users] Limiting ru
If you don't want to change your rules (add conditions, controls facts
...), you can set an AgendaFilter that only accepts rules not executed yet.
If your rules are not chaining (ie one rule changes an attribute that
trigger another rule), you should use sequential mode.
Le 24/03/2011 10:27, Jam
Hi All
This post is to continue an interresting (to me) discussion started there :
https://issues.jboss.org/browse/JBRULES-46
This was about my remark about a backward-chaining mode that could be used to
allow sequential mode to handle some kind of RETE updates (first rules could
then trigge
I don't think that having one binary package per rule will solve your problem,
as you will build you KB by merging some packages, and will then fall into
exactly the same "compilation" time (to merge common nodes and build the merged
RETE for your packages).
Note than this problem is exactly th
Hi All
First : sorry for the misplaced reply to another thread
This post is to continue an interresting (to me) discussion started there :
https://issues.jboss.org/browse/JBRULES-46
This was about my remark about a backward-chaining mode that could be used to
allow sequential mode to handle
Hi all,
I am looking for a clever way to compile only parts of a Guvnor package
according to some criteria on items (categories, metadata ...), but
outside Guvnor if possible.
The main idea starts by the fact that it is a little bit complex for a
business user to manage packages and compilation
les-users@lists.jboss.org
Envoyé: Jeudi 5 Mai 2011 04:48:45
Objet: Re: [rules-users] Guvnor service to compile part of a package ?
On 2011/5/4 22:57, Vincent Legendre wrote:
> Hi all,
>
> I am looking for a clever way to compile only parts of a Guvnor package
> according to some c
I am not sure if I understand you correctly. You want to return a compiled
package binary based on certain criteria or you want to return individual
assets based on certain criteria?
The main objective is the first one : get compiled package including filtred
assert on certain criteria
But if
Thanks !
Will try that more seriously next week and report back results ...
If I want to add the filtered compiled package query to Guvnor, what
would be the entry point in the code ?
___
rules-users mailing list
rules-users@lists.jboss.org
https://lis
Hi Jervis
I managed to get it work ... but only on 5.2.0 M2 (M1 respond that path
does not exists, so it seems that new REST api is not added to this
version of Guvnor).
For a package, I have the expected assets simple listing in XML.
But, for an asset, I can't get the category in returned XM
> Category info is not returned at the moment. But this should be a very
> quick fix, let me see when I can find time. Though the fix will only be
> available in 5.3.Snapshot.
Ok, but the better is to add a filtered build directly on the server (otherwise
I will have to listing everything and
Not sure of what you exactly ...
If you want to combine tests, you can write this :
Rule "test filter"
When
$cm: ConditionMatrix()
$document: ArrayList() from collect ( Document
(user.isPrivateName == $cm.isPrivateName, Payment.isLegal == $cm.isLegal) )
Then
//do
--
Vincent LEGENDRE
Consultant Sénior
EURODECISION
9A rue de la Porte de Buc 78000 VERSAILLES
Tél. : +33 (0)1 39 07 12 40
Direct : +33 (0)1 39 07 26 16
www.eurodecision.com
Hi all
We gave a try with the CR1 version, and see that all "collect" clauses appears
in grey and are not editable (such conditions are also not deletable).
Everything was OK with the M2 version (rules were edited with this version).
It is quite strange because all the "collect" condition is gr
our model.
Having the import implicit was causing a lot of other problems that were more
"invisible" to the user.
With kind regards,
Mike
On 14 June 2011 10:00, Vincent LEGENDRE < vincent.legen...@eurodecision.com >
wrote:
Hi all
We gave a try with the CR1 version, and s
Hi,
First of all, you can create 2 packages in Guvnor and then use the 2
different URL according to what KB (ie package) you want to launch,
exactly the same way you did before with DRL files. I don't think this
is a bad practice in the case of two distinct use-cases, except if the
two DRL ar
Hi all
I was using firefox for Guvnor, every thing was well.
But here, users use IE 8, and under IE8, Guvnor displays some strange list of
icons in place of some other icons :
- validate rule dialog : in place of the check (or error icon) : a big image
containing all icons
- new rule dialo
Done : https://issues.jboss.org/browse/GUVNOR-1485
I have tried with previous versions too, to see where the problem appears.
- 5.2.0 M2 and CR1 are the same for this problem : replaced icons
are hidden in some place
- 5.2.0 M1 : even main page icons (top banner and search tab at
least)
Some other comments
*Prediates How-to in Guvnor :*
You can use predicates in the dialog box for editing a condition column.
There are 3 radio buttons for "value", "formula", and "predicate"
*Templates VS tables* :
Template are more flexible ... may be ... may be not.
First, in templates in g
Ideally I'd like to implement "tabular templates" where a column can be any DRL
fragment with place-holders for values and the data is listed in the rows
below. It's on the "to do list".
Great! If the whole column's DRL fragment generation is conditioned by the
non-empty cell, that's fine
Yes, but that looks like a very very limited version of the literal value.
I really don't see any benefit in the predicate, other than being a shortcut
for
choosing a field literal value = true or false... am I missing something here?
Yes, I think you are missing some things.
You can write e
Hi all
We tried to use the 5.2.Final version of Guvnor, but the compilation fails with
an error saying that class "dtable" does not exists.
After looking more depply, it appears that the XML storage format has changed
in 5.2.Final :
- root XML is now " decision-table52 " instead of "dt
itoryUpgradeHelper to
convert from GuidedDecisionTable to GuidedDecisionTable52.
We had to make some essential changes for Guvnor 5.2 to support CEP operators
on the guided decision table.
With kind regards,
Mike
2011/7/12 Vincent LEGENDRE < vincent.legen...@eurodecision.com >
Mike
2011/7/12 Vincent
abble.com/Rule-error-tp3162619p3165771.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
> AFAIK, there never was any logic for restricting updates of the Rete
> structures according to individual field-oriented change notifications.
As far I remember, JRules does.
And it could be great to add/restore this possibility in drools (is
there a JIRA somewhere where we can vote?).
For M
In my opinion, for 300 drl files, the better is to use a specific KB for
each DRL (or some KAgent).
This way you don't have to pollute your rules with control facts (and
you can eventually re-use some part of DRL files into multiple context
KB), and the RETE is tightened to the strict minimum (n
Control facts could be a good solution if a execution (of rules) can use some
multiple DRL, and if you are using a lot of facts.
For example, if you want to do DRL1 and then DRL5 (because of some logic) on
the same facts, in that order, you can add "control rules" to your KB that
set/update
Hi all
I have two simple classes : The parent class has a field that is an enum. The
other class inherits from the parent class.
Under Guvnor, everything is OK for the parent class : when I add a constraint
on the "enum" field, I see a listbox with enum values
But for sub-class, the sam
u provide an example repo?
Also, please state whether the sub-class a declared type or a POJO in a JAR
model.
Thanks,
Mike
2011/7/26 Vincent LEGENDRE < vincent.legen...@eurodecision.com >
Hi all
I have two simple classes : The parent class has a field that is an enum.
Hi all,
I agree with W. : NPE should be the default, and "null" cases behaviour should
be planned by programmers.
But I am not sure about using a new operator in rules (and do the update in
Guvnor ...).
Why not using some drools annotations on the getter specifying the behaviour of
an eval o
Yes you can do all that (but don't know about getting history infos). A
old post from Jervis Liu linked to more info on REST API here
http://blog.athico.com/2011/03/atompub-interface-for-guvnor.html and
http://community.jboss.org/wiki/AtomPubinterfaceforGuvnor
But you may start by using the ex
Because it is done like that :
- Do the compilation, by filtering assets given to a package builder, and
store the corresponding KB as a binary object
- Then, but only then, create the snapshot, by copying all resources to a
'snapshot' part of repo
So the compilation and snapshot actions ar
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Vincent
LEGENDRE
Consultant
Sénior
EURODECISION
9A
like in plain java : declare the type of your new variable before its
name ...
Event $e = new Event(...);
insert($e);
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
s-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Vincent
LEGENDRE
Consultant
Sénior
EURODECISION
9A
rue de la Porte de Buc 78000 VERSAILLES
Tél. : +33 (0
I already used differents versions of drools like you describe without
big problems.
The only real problem is if you use some 5.2 new features that can't be
handled by previous runtimes versions. The inverse is more safe: guvnor,
which is the rule editor, having lower version than runtime.
But
You can use dynamic enums in Guvnor (that create dynamic populated
listboxes).
See guvnor's doc chapter "1.4.2.4.8. Data enumerations (drop down list
configurations)"
For your case where number of items are really huge, you may consider
using custom editors (again, in Guvnor), and implement a
Don't use eclipse to edit Excel files. Use Excel. I've never managed to make
this OLE editor works well (but it is a long long time I did not retry,
although I don't think there is any major evolution of this editor since then) .
You can instruct Eclipse to use Excel to edit your .xls files (see
Just wondering : does these problems happends because you use clocks and jobs,
or is it general to fusion 5.3 ?
Did not migrate my project on 5.3 for now.
So do you think there is a risk, knowing that I only use very basic fusion
features ?
- Mail original -
De: "Edson Tirelli"
À: "Rul
Eclipse does not lock files, none of them, including xls ...
May be you have an excel process still in execution (not killed by buggy
OLEEditor) that keeps some locks ?
"OOTB Eclipse" ? don't know what it is, but may be the problem is here ?
I do use Excel spreadsheet in real applications. But
bug : https://issues.jboss.org/browse/GUVNOR-1573
fixed in 5.3
But I think you does not need your second enum. Guvnor will infer that (in 5.3).
- Mail original -
De: "gab"
À: rules-users@lists.jboss.org
Envoyé: Mercredi 9 Novembre 2011 19:26:00
Objet: [rules-users] Enumerations for nest
Hi all
We are using Fusion to make some simplification and grouping on some events.
We have several classes of events, all derivated from a top-level class .
With fusion version 5.3 (and 5.2 too), we must declare the @role(event) for the
top-level class, but also for all its classes hierarchy
Hi all,
The question is in the subjec :
In 5.2 there was a "create new" button in "browse" panel, which allow business
user to create new assets.
In 5.3, no more button ...
Is it on purpose ?
Is it a bug ?
Is there a way to get it back ?
Does it appears only under some conditions ?
_
liberate AFAIK.
The button still exists under "Knowledge Bases".
2011/11/14 Vincent LEGENDRE < vincent.legen...@eurodecision.com >
Hi all,
The question is in the subjec :
In 5.2 there was a "create new" button in "browse" panel, which allow business
user
Strange ...
When trying to build a minimal sample that reproduce my problem ... well ...
did not manage to reproduce ...
I will try to find out why my first attempt is different from my minimal sample
now ...
Will get back here asap.
___
rules-users mai
button in
"Browse" view ?
IIRC its because we felt we had an unnecessary duplication. We also plan on
changing the remaining button over time too.
sent on the move
On 14 Nov 2011 19:04, "Vincent LEGENDRE" < vincent.legen...@eurodecision.com >
wrote:
Yep, I saw th
Hi,
As said in the subject mixing formula and field constraint in same pattern
makes the guided editor crash.
I had rules in 5.2, which was using such constructions, ie normal constraint
for normal tests, and sometime a formula (which transform into in-pattern
"eval(...)")
These rules cannot
and
field constraint in same pattern makes editor crash
Yes, agreed.
Please raise a JIRA, https://issues.jboss.org/browse/GUVNOR , and assign to me.
Thanks,
Mike
2011/11/15 Vincent LEGENDRE < vincent.legen...@eurodecision.com >
Hi,
As said in the subject mixing formula and field constr
If you want to modify the "enabled" property of a rule according to facts in
WM, why don't you add a first condition on that fact ?
If the problem is to groups some rules under this condition, you can use rule
inheritance (extends keyword) : all LSH of parent rule will be inherited by
child rule
It will work properly in a stateless session ... in sequential mode ...
may be.
This rule for instance, will loop by itself (and all other will also
loop), in a stateless or statefull session :
rule "one"
when
$r : Result( $score : score )
Applicant( numberOfLoans > 1 )
I think this could work :
*rule*"verify time"
*when*
$now: java.util.Date() from getTimeByID(ETimeID.NOW)
$tc: TaskContext(times *contains*$now)
*then*
//something
*end*
or an eval :
*rule*"verify time"
*when*
$tc: TaskContext(eval(
this.getTimes().*contain
Or you can use Guvnor tables and "otherwise" special value (see doc on
tables under guvnor)
Le 23/11/2011 17:14, FrankVhh a écrit :
> Hi,
>
> If you do not want to check for all alternative cases, you might need a
> showstopper to stop the firings of unwanted rules.
>
> This can be achieved by e
Well, after trying and trying to reproduce with a simpler case, @role is always
correctly inherited.
But in my application, it seems not, or may be it is another problem.
I have 3 classes : ChantierEvent (the main mother class) and its 2 subClasses :
InitEvent and DisposeEvent
When I declare @ro
Hi Edson, and thanks for answering
? - are the fact types (classes) in the same package or different packages?
Different packages. But I tried this on my little sample (put the sub-class in
another package than the mother class), and this works
? - Are the declaration(s)/rules in the same fil
Tried to load my fusion package before any others. Same problem
- Mail original -
De: "Vincent LEGENDRE"
À: "Rules Users List"
Envoyé: Lundi 28 Novembre 2011 19:48:03
Objet: Re: [rules-users] Fusion : must declare @role(event) for all class
hierarchy ?
Hi E
Transform you JSON into java object, and insert it in the session before
calling fireAllRules :
Object obj = your_JSON_2_Object_convert_method();
session.insert(obj);
session.fireAllRules();
- Mail original -
De: "ihabo01"
À: rules-users@lists.jboss.org
Envoyé: Jeudi 8 Décembre 201
Hi all,
I'm not listed in people you would like to answer, but there is
something that could be the main problem here.
In your URL, you use "source", so it is normal that you get the
corresponding DRL in response :
String
content=client.path("guvnor-webapp-${project.version}/rest/packages/es
all that
XML into a valid GuidedDecisionTable52 instance.
Regards,
2011/12/15 Michael Anstis <mailto:michael.ans...@gmail.com>>
Sorry Vincent, nothing personal :)
Obviously everyone is free to assist in the community :)
2011/12/15 Vincent Legendre mailto:vincent.legen...@e
Mariano Gonzalez a écrit :
according to http://docs.jboss.org/drools/release/5.3.0.Final/drools-guvnor-docs/html/ch09.html#d0e2735
the functionality already exists
2011/12/15 Vincent Legendre <vincent.legen...@eurodecision.com>
ok, so there is anot
There is a recent post on "poor performance from a simple join" that
highligths almost the same questions : because "insert" trigger RETE
propagation, time to insert depends on rules complexity.
May be you can start by looking at your rules to optimise them (see the
previous post for some tips
[mailto:rules-users-boun...@lists.jboss.org] *代表 *Vincent Legendre
*发 送时间:*2011年12月20日22:01
*收件人:*Rules Users List
*主题:*Re: [rules-users] Working memory batch insert performance
There is a recent post on "poor performance from a simple join" that
highligths almost the same questions
First solution is the one I use almost all times, and moving facts from a
session to another is far less costly than propagating facts for rules that
will never be fired...
The second solution could be great too, but I am not sure that it will cut all
propagations. If you have this :
rule "unus
I bet this : your error list is the same instance, shared in all Party
objects...
Am I right ?
And why do you need to pass "drools" to your "appendMessage" method ? Do you
modify (insert/update/retract some objects) the WM inside this method ? Be very
careful if you do that (especially if you s
Have a look there too :
http://drools.46999.n3.nabble.com/quot-Rule-Id-quot-for-a-Drools-Rule-td2914385.html
or use a WorkingMemoryEventListener and a AgendaEventListener together
to set the name for all freshly inserted objects.
___
rules-users maili
It happends as soon as your project is set as a "Drools project".
What you can is cutting your project in 2 sub-projects :
- One for rules, tagged as a "Drools project",
- Another pure java project, containing eventually some normal XLS,
which is used as a dependancy for your drools project
May be drool cannot support variable length arguments in methods. But,
seeing your rules, I think you should change the way you match your
events objects by exploiting drools syntax and RETE instead of calling
predicates.
If I understand well, you are creating a game, and this rule should
tri
ok, did not know that.
If you use lists, you can use the 'contains' operator then, instead of
your predicates (will be more efficient).
But I think it is better to deal with Event objects (will be even more
efficient, and far much extensible in the future when you will want to
add more business
With Guvnor, you can also use "working set" (see here ) to restrict the
availiable fields to expose to a business user, by selecting class and/or
fields of an existing class, and even more (businnes contraints on values, with
rules).
The only problem I see with working sets, is that you must ex
The last time (Nov.2011) I tried to use drools 5.3.Final with java 7
(normal use, not building), it has not worked at all.
Strange because https://issues.jboss.org/browse/JBRULES-3163 is saying
that this is fixed, for 5.3.Final ... in december (ie after the
5.3.Final release date!).
Le 25/01/
The "then" part is java. Your question can thus be reformulated as
"preventing java code for doing dangerous operations".
One of basic solution is to run your java code (containing drools or
not) under a specific user (not root) that only have rights for some
specific folders.
As I think you a
Yes, there is me !
I even have a fresh newly updated french file (for 5.3.0.Final version), as the
one in actual guvnor date from my last translation for 5.1 (parts are french,
parts are english, which does not look very good) .
I was thinking of updating the former JIRA with the new file ?
Shou
Using such old version will certainly bring you more problems, may be
even with XML rules ...
May be you should consider using the XML format of a BRL file (Guided
rules in Guvnor) or guided decision tables.
This XML format is the XStream format for corresponding internal
objects, but this form
1 - 100 of 211 matches
Mail list logo