text:
Type: Improvement
Status: Closed
Priority: Major
Resolution: Fixed
Affects Version/s: 2.3
Fix Version/s: 2.4
Component/s: Groups
Testing Instructions:
Test level DIFFICULT (requires use of manual database queries and edits to code)
1. After upgrade to new version, look at the groups_members table using a database viewer.
+ The table should have fields 'component' and 'itemid'.
+ These fields should be, respectively, '' and zero for all entries.
2. Go to any course that has at least 2 users in (or set up a new one).
3. Create a new group 'Group A' for testing. Go to 'Add/remove users' for the group.
4. Select both users and add them to the group.
+ The add should work OK
+ Check in the database - the new groups_members entries should have '' (blank field) and 0.
5. In the database, manually edit one of the two entries to set the component name to 'mod_page' (the Page module cannot really add group members; this is just an example for testing).
6. Return to the group page.
+ Under the entry you set up, there should be grey (disabled), indented text 'Added by Page'. (If using Firefox, this text will also be smaller than usual. On other browsers, CSS doesn't work on list items.)
7. Under the search box, type in the name the user who was not set to mod_page.
+ Verify that only that user displays; the 'Added by Page' text which belongs to the other user has disappared.
8. Change the search to type in the user who was set to mod_page.
+ Only that user should appear; this should include the 'Added by Page' text below.
9. Clear the search and select both entries (note that you cannot select the 'Added automatically' lines because these are disabled).
10. Click 'Remove'.
+ The remove should work OK with both entries removed.
11. Add both users again and manually edit one of them to have component 'mod_page' again.
12. Return to the group page and verify that the entry shows up as added by Page again.
13. Modify the following function in mod/page/lib.php:
function mod_page_allow_group_member_remove($itemid, $groupid, $userid) {
return false; // change this line from true to false.
14. Attempt to remove both users.
+ You should now receive an error 'You do not have permission to remove automatically-added group member Anne Other' (with the name of the group member that was owned by Page).
+ Depending on the order, the other user may or may not have been removed.
15. Return to the group members page. If the other user got removed, add them back so that you again have two users, one of whom is owned by Page.
16. Edit the code above to change the 'false' return to true.
17. Attempt to remove both users.
+ Removing both users should now be OK.
18. Add both users back and set one in database to have mod_page as component, itemid as 13.
19. Reload group page and check the 'Added by Page' appears again.
20. Back up course using default settings.
21. Restore to new course using default settings.
22. View groups page and show members for the group.
+ The 'Added by Page' should still be there.
23. Alter the new course to have a component of 'mod_foo'
24. Back up the new course using default settings.
25. Restore to a new course using default settings
22. View groups page and show members for the group.
+ The 'Added by xxx' should no longer be shown.Test level DIFFICULT (requires use of manual database queries and edits to code) 1. After upgrade to new version, look at the groups_members table using a database viewer. + The table should have fields 'component' and 'itemid'. + These fields should be, respectively, '' and zero for all entries. 2. Go to any course that has at least 2 users in (or set up a new one). 3. Create a new group 'Group A' for testing. Go to 'Add/remove users' for the group. 4. Select both users and add them to the group. + The add should work OK + Check in the database - the new groups_members entries should have '' (blank field) and 0. 5. In the database, manually edit one of the two entries to set the component name to 'mod_page' (the Page module cannot really add group members; this is just an example for testing). 6. Return to the group page. + Under the entry you set up, there should be grey (disabled), indented text 'Added by Page'. (If using Firefox, this text will also be smaller than usual. On other browsers, CSS doesn't work on list items.) 7. Under the search box, type in the name the user who was not set to mod_page. + Verify that only that user displays; the 'Added by Page' text which belongs to the other user has disappared. 8. Change the search to type in the user who was set to mod_page. + Only that user should appear; this should include the 'Added by Page' text below. 9. Clear the search and select both entries (note that you cannot select the 'Added automatically' lines because these are disabled). 10. Click 'Remove'. + The remove should work OK with both entries removed. 11. Add both users again and manually edit one of them to have component 'mod_page' again. 12. Return to the group page and verify that the entry shows up as added by Page again. 13. Modify the following function in mod/page/lib.php: function mod_page_allow_group_member_remove($itemid, $groupid, $userid) { return false; // change this line from true to false. } 14. Attempt to remove both users. + You should now receive an error 'You do not have permission to remove automatically-added group member Anne Other' (with the name of the group member that was owned by Page). + Depending on the order, the other user may or may not have been removed. 15. Return to the group members page. If the other user got removed, add them back so that you again have two users, one of whom is owned by Page. 16. Edit the code above to change the 'false' return to true. 17. Attempt to remove both users. + Removing both users should now be OK. 18. Add both users back and set one in database to have mod_page as component, itemid as 13. 19. Reload group page and check the 'Added by Page' appears again. 20. Back up course using default settings. 21. Restore to new course using default settings. 22. View groups page and show members for the group. + The 'Added by Page' should still be there. 23. Alter the new course to have a component of 'mod_foo' 24. Back up the new course using default settings. 25. Restore to a new course using default settings 22. View groups page and show members for the group. + The 'Added by xxx' should no longer be shown.
Affected Branches:MOODLE_23_STABLE
Fixed Branches:MOODLE_24_STABLE
Pull from Repository:
Pull Master Branch:
Pull Master Diff URL:
The role_assignments table has a 'component' field which is used to record which internal component created the assignment (it is blank if the assignment was added manually using the UI).
Unfortunately there is no 'component' field in the groups_members table.
We have a dataload system which automatically sets up tutor groups (and several other types of group) and it would make life significantly easier for this system if we could set a 'component' field in groups_members so that it can tell which rows it created. (I.e. there are cases where it needs to delete entries, but only if the system created them, otherwise it wipes manual changes.)
My proposal is to add the 'component' field to groups_members (with same semantics as in role_assignments, blank = manually added/normal).
I am not sure there is anywhere in Moodle that automatically creates group_members entries, but I'll search; if there is, I can make this fill in the component field. Otherwise, this feature would be solely for the use of plugins, so apart from the database change and maybe some changes to one or two groups_* functions (to add the new field, where there are lists of fields) it shouldn't change much.
Note: I am proposing to implement this myself.
Gliffy Diagrams
Issue Links
- blocks
MDL-31437 consistent sync between cohorts and groups
- Closed
- caused a regression
MDL-35210 Delete testing code pushed upstream without noticing
- Closed
- duplicates
MDL-20863 Include "enrol" field to groups_members table to identify enrol plugins that created the record
- Closed
- has been marked as being related by
MDL-39170 Group Members should be greyed out if they aren't able to be removed.
- Open
MDL-32005 groups and groupings should have 'idnumber' field
- Closed
MDL-51202 groups table should have 'component' and 'itemid' fields
- Open
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy
If it is agreed to add the 'component' that we should also add 'itemid' column - see enrolment plugins where itemid is instance id.
my 'itemid'
Updating test script to reflect current development; added screenshot; will comment further and provide code soon.
I've finished this and will submit for review. It was way more work than I thought it would be...
Here's a complete list of changes and rationale:
1. Changed database fields as described (including Petr's advice to add itemid). Added parameters to groups_add_member so these can be set. Added fields to backup.
2. Added logic in new groups API function groups_remove_member_allowed. If the new component field is set, this will call a component callback function _allow_group_member_remove with parameters itemid, groupid, and userid. The function could return true or false e.g. based on a capability check, issiteadmin, or something specific about that group/user. If the function does not exist, it is assumed to always return true (=ok).
Rationale: It is the component that added the group member item which knows whether users should be permitted to manually remove the entry. Some components might be happy for users to remove the entries, others (e.g. the type which will automatically add it again overnight anyway, which is what our dataload does) might not.
3. Made it check this function when deleting users manually in the main group editing API and in the equivalent web service.
Rationale: I assume the webservice is basically equivalent to the normal UI and is not supposed to be a lower-level interface, so it ought to do this check just the same.
4. It does not call this function e.g. if you delete a whole group, or a course.
Rationale: Deleting whole groups is probably separate; if there is a need to control this it would be done by setting the group idnumber (see linked issue). If the group or course is deleted there is obviously no point trying to stop people delete a group member.
5. When users were added by a component, this is indicated in the group members list (on add/remove users page only) by an entry below their name with text like 'Added by ' [pluginname of component that added them].
Rationale: This is useful information, especially when troubleshooting. And we need to have some way for users to be able to tell why the system won't let them remove someone.
7. After searching the code, the only place I found that looked like it really made sense to use the 'component' value in core code when calling groups_add_member was the IMSenterprise enrol plugin, so I added this. Haven't actually tested this part but I think the code is safe (even if it's wrong, it can't do more than print a php warning, I would think). We could remove it if preferred. I didn't add the function, so it won't cause a behaviour change when deleting these users.
If this is approved, I propose documenting the new optional lib.php function in here:
You might wish to remind me that I promised that, if I look like I haven't done so. I will note in here if/when I do change the documentation.
Hi Sam,
Thanks a lot for doing this work! Some notes from my review:
- Is it right for us to be blindly restoring the group_member component details in restore? What if the component which created the group doesn't exist on the destination site? From the look of things the teacher will at least see missing strings on the group members selector which is less than ideal I think.
- On first read of the code I thought that you were adding a component for IMS enrolment and then not allowing it to be removed as the callback for checking removal permission didn't exist. That was until I read your comment here and saw that component_callback had a default true param. I think it'd be better to make that behaviour a little clearer in the comment as I didn't immediately spot it.
- Since you touched webservices it made me think of web services.. I can imagine that web services would want to use this component field in order to prevent teachers from manually removing members automatically populated by web-services from external systems (think student management systems). This is something to ponder I think.
An immediate use case we have for this component field is populating groups from cohorts and keeping them in sync.
Thanks Dan!
1) Agree, good point. I have changed restore and tested. (backup/moodle2/restore_stepslib.php)
2) Sure, I added comments (a) in IMS Enterprise, (b) group/lib.php.
3) I also thought of this and actually at one point I started to change the webservices to allow setting this value - but actually it is a difficult problem because if you do set the value, what do you set it to? (I.e. it has to be a Moodle component that 'owns' the entries. I guess it could be like, core_webservice but not sure how useful that is.) So I decided that, at least in this version, the webservices are treated the same as the public UI and therefore you can't set a component and also it won't delete an entry that has a component (if the component doesn't allow it). Makes sense particularly with the 'phone app' type intended use for webservices where it's just another way to get at stuff you can do in the Moodle UI.
Have pushed the new version.
Requesting review again - just to confirm you're happy with these changes. If so, will submit for integration.
does this cover all the groups_add_member | add_user_to_group uses across codebase?
What happens with members loaded from uploaduser, or webservice, or enrol/self... In some of those cases the itemid is not necessary (but the component is, I guess). Also, it's the case of autogroups... not sure which component it belongs to... perhaps it should be moved to admin tool or any other valid component....
Perhaps, it would be also a good idea to make the new parameters mandatory (at least the component), no matter if we end passing nulls/blanks for some cases for now?
Keeping this open for some hours... but all those ways of adding members should be covered by this IMO.
I searched all usages of groups_add_member and decided only to add component to the enrol plugin shown (to be honest not sure if I should really have done that).
My intention was that for all 'normal' methods that are equivalent to doing it in the interface, the componentid should be blank.
This definitely includes uploaduser (users would not expect anything to be treated differently because they added them in a .csv file instead of in the UI). As discussed in previous comment, it also includes web service because there is no useful way to treat this differently, and initial use of webservices has concentrated on using mobile app to do things that are the equivalent of the normal UI.
(To put it another way... if normal usage puts things in the component field it will be annoying, because I made it display it on the groups_members screen, and we don't really want it to do that for everything...)
Regarding autogroups, imo this is the same way (should be equivalent to manually adding) *IF* autogroups is a one-off operation, which I think it is at present. If autogroups needs to 'keep track of' the groups created somehow (e.g. so you can redo autogroups without affecting any manually added users) then it should use this feature in future.
Basically... I think this is an infrastructure thing which CAN be used if necessary to improve some other core features. It's ok if it is not actually used (by core or other features) initially as that will continue current behaviour. But in cases where different behaviour is required (i.e. it is necessary/useful to be able to tell which entries were created by a specific system component vs. by the user) this could now be added in future, once this feature is available. I would envision this mainly being used by ours (and other people's) systems to load user data from external sources.
I didn't want to make the new parameters mandatory because then it would break all plugins which call groups_add_member. I think it's fine not to set the parameter if you want to continue with current behaviour...
Hi Sam,
I see your logic... but in the other side is 100% nosense to add one component+itemid couple to group members if we are not going to (be allowed to) use it.
My reasoning is about those terms being "reserved" for something existing into Moodle, and with a way to behave in other places.
So, if we go ahead with the component+itemid, I think we must go in the correct way, aka, when one component (enrol plugin, auth plugin, tool or whatever) assign members, use them.
In the other side... perhaps, after all, you don't really need one component+itemid for this at all but just some sort of "externalsysteminfo/extkey/idnumber/whatever" column to be used at your installation.
I'm going to keep this open to further discuss it @ HQ (plz ignite it if I'm not around), IMO there are 4 options:
0) Your component + itemid idea is accepted. We assume no use from core.
1) We go with component + itemid. But using them properly, also for core components handling groups members.
2) We go with one custom container that won't be used by core, but will be allowed for external systems to introduce any arbitrary information.
3) We don't introduce anything, and you keep that working exclusively in your site (new column or 1:1 table).
Obviously my +1 goes for anything but 0) as commented. IMO it's an incorrect implementation of component+itemid.
So, reopening until discussion/agreement happens...ciao
I'm not sure that I quite understand that not always using component + itemid is problematic.
But just to comment that I don't think that options 2 or 3 are viable, there is a 'missing feature' of cohorts that they can't currently populate groups and keep them in sync (
MDL-31437). I don't think we can do that without this sort of field (see Petr's comments on MDL-22927) being introduced.
I think the issue with 1) is that sam implemented a system where it displayed extra information about group memberships where component is not blank, and so if that information was present for all group members, then the UI would get really crowded and be a pain to use.
A suppose the solution is to use call-backs to get things like the text to display under each member, and whether this group member can be removed through the manual groups UI (and have it understood that it is OK to return no explanatory text if this user can be removed manually).
OK, agree with Tim - basically this is Eloy's option 1 but with custom display. So for example:
- If you add an entry using the normal user interface then it will get component 'core_group' (no itemid)
- If you add an entry using the web service then it will get component 'core_webservice' (no itemid)
Similar for csv upload and other areas. Mostly these will not have itemid, it's only enrol plugins and similar that need to track an itemid.
Existing 'legacy' entries will all continue to have blank component as we don't know how they were populated.
For groups_add_member function etc I will leave the new parameters as optional - for API backward compatibility - but will make it display a developer debug warning if you omit componentid (obviously itemid will keep being really-optional).
Then new optional api e.g. mod_page_display_group_member_origin($itemid, $groupid, $userid) which can return blank - or not include the function - if no extra info is required, otherwise return plain text string.
This function will not be implemented initially for any part of core code so all existing behaviour (no extra display) will be maintained.
It might be that the IMS enrol plugin would actually benefit from using this feature (i.e. preventing delete and/or displaying information), also other new core code like cohorts might want to use it, but in this case it would be added later by the people implementing those features. In this commit, I would only make sure that all parts of core code do actually set the component value when adding group members.
How's that?
1/ 'core_webservice' does not make much sense from the original externallib&WS design perspective, the webservice was supposed to be only the top most wrapper around PHP external API - there was not supposed to be a single word 'webservice' outside of the /webservice/ directory or WS admin UI - that means ALWAY use the component of the plugin (or subsystem) manipulating groups (where is the externallib.php defined). Unfortunately these fundamental external API/WS rules are being constantly ignored...
2/ all current groups belong to 'core', nothing else can claim exclusive ownership of existing groups or members now - I believe the upgrade should unconditionally add default component and later any custom plugin may take over the group in own upgrade.php if really necessary
3/ hmmm, I am not sure about 'core_group' component because groups actually belonged to teachers that may create/modify/delete/assign them, they are not owned by 'core' - the empty string '' used in other similar areas means "anybody/anything can modify this at any time"
oh, one more thing: what happens when two different plugins want to add user membership - do we allow duplicates in group_members? I guess current code is not compatible with that.
1/ Sorry this is my mistake, it should be core_group, you are correct it is defined in that externallib. What I intended was to say that whenever there is a call to groups_add_member, I can add in the component of the area of code that is making that call (which is what Eloy requested).
2/ I don't think 'core' is a valid component, doesn't it need to be listed in get_core_subsystems? So could use core_group for that too if you would like an initial setting other than blank.
3/ This was my initial reasoning for leaving the component blank when groups are created by the user interface (including the normal 'add members' UI, also the 'upload csv' UI, the 'automatically create N groups' UI, and the web service interface which might be used by a mobile UI). But Eloy didn't like that approach. I'm happy with either way (i.e. Eloy = we set the component to core_group or whatever suitable, but we know that core_group is never going to prevent anyone modifying the group; my original = we leave it blank in those cases), can somebody please decide.
Regarding duplicates, this is not allowed - there's no check in database but the PHP code stops it (groups_add_member). The code I've done does not change that. Can we leave that for a future issue and have it defined that, at present, a group membership can only be owned by a single component? I think there are lots of places (including third-party) that will join with groups_members expecting it to be unique, so that change would potentially affect other code.
OR, are you suggesting that in order to create this feature we should instead add a new table about which component owns each group membership (with 1:n possible and would not affect any existing code) rather than adding fields to groups_members...?
Petr, Eloy: Have you reached a consensus on the implementation of this?
We'll be needing exactly this functionality shortly and I was hoping to help Sam finish this off.
My personal preference is for '' rather than 'core_group' - it's not immediately obvious that core_group has a special meaning, whilst it is much more obvious that an empty string means it has no owner and therefore is special.
I've rebased on this weeks master - in doing so, I hit issues with setting the database fields to be not nullable as existing data contains nulls. As a result, I've switched them to NULLable fields.
As I mentioned before, I'm in Petr's camp on this one - an empty value screams special far more than a core_groups value, and also suggests that it doesn't truly have an owner.
I think we need to make these not nullable, with a default value of '' - this is currently not achievable with the XMLDB editor, but can be entered manually.
Discussed briefly in developer chat - general feeling is that NULL fields are fine.
Rebased on weekly master.
The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.
TIA and ciao
After discussing with Sam, have taken on this issue to try and get it integrated.
Rebased on weekly master.
LOL, was near pushing this... but watching the upgrade in my dev site... I realised that the itemid has been declared nullable and default 0. The question is why 2 different possible values meaning "no itemid" ?
Note I'm not either 100% sold to make component nullable (default null), mainly because all the rest of "component" columns out there are not null (default ''). It's correct (from a philosophical POV), but it makes it a difference from previous components.
So finally, I'm going to reopen this, asking for both the component and itemid columns to follow the specs used in other tables. It should not change much in the rest of code, as far as empty() is being used.
Some day, if we move, we'll move all them together (to nullable, default null), but better to have them consistent for now, IMO.
Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.
Your wish is my command.
I've changed the fields to not-null and with defaults of '' and 0.
hoho, reopening!
1) groups_add_member() with $component=null ==> BOOM, I bet.
2) same function... I think component and itemid should be validated, right now they accept "anything".
3) same, function... perhaps also, the "groups_member_added" event should include the new information, for potential consumers.
4) if we want imsenterprise to be an example of use of those new component and itemid... shouldn't we also implement the "allow_group_member_remove" callback there? Yes, I've seen the "Note", but having the callback doesn't hurt IMO.
5) This requires dev_docs and, if we change the behavior of imsenterprise enrolment (to avoid manual removing) also user_docs, so I'm adding both labels here.
Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.
I'm adding a check to groups_add_member() which checks:
- whether the $component has a value;
- if so, it checks whether the component exists
If $component has a value; and the component exists, then it is used
If not, then those fields aren't set and we let the database insert defaults ('', and 0 respectively).
If the component is invalid, then the itemid is not set either.
We can't validate the itemid as this is specific to each component.
If the component does not exist, do you think it should:
- throw an exception;
- show a debugging warning but create the group member anyway; or
- create the group member and ignore the error.
I'm currently silently ignoring the error.
This addresses points 1, and 2.
With regard to point 3, I'm trying to decide between:
- call the events_trigger with $member rather than creating a new stdClass duplicating the same data (the component and itemid will be included only if they're set and valid);
- run a get_record against the new member's ID and use the record; or
- just add the fields to the existing stdClass.
I don't see any reason not to just call with the $member class, though I do wonder whether it would be better to use the DB record instead – this would however add an additional get_record() for no real benefit.
Agree on point 4 and have now implemented.
Hi Andrew,
2. I haven't looked at this in any detail at all, but regarding component I think you should replicate what other areas of Moodle do. This component/itemid 'pattern' is common now, so maybe role assignemnts and enrolments could be looked at (note maybe Eloy wants to improve there, so my advice might be bad).
3. I think just add the fields to the existing stdClass (its less radical, thus easier for us to accept ). One reason we might want to avoid just adding the $member directly is because one day someone might add a big text field to that structure which is not useful for events, and then we go around sending and storing much more data than is required. By building the stdClass individually we are focusing on sending the 'minimum required information'.
Rebased on latest (integration/)master
It looks like it's not particularly clear anywhere this already happens - lib/accesslib.php::role_assign() only comlains if the itemid is specified without a component, or the component is poorly formatted.
If an invalid component is specified, a coding_exception is thrown.
If an itemid is specified without a valid component, a new coding_exception is thrown.
I've done as Dan suggests for the events_trigger
Thanks to Rossiana's update to the testing instructions, I've just noticed that I inadvertently committed the function introduced by the test instructions - my apologies.
I've added a commit to the branch removing the function from mod/page/lib.php – https://git.luns.net.uk/moodle.git/commitdiff/b677b83d571c0feb9ab237cc52774f9ebedd16a7 on
Apologies once again!
I'm so proud...of you, many thanks!
Closing as fixed, ciao
Andrew, did your latest comment get accommodated? If not, please create a new issue for it.
In future if there is something like this its worth shouting to get the status set to failed (or do it if you can yourself, not sure what can be done when its in 'test passed' state, that way as integrators we have to take some action on it.)
Crap, why I did not see that change, apologies!
Yes, plz, creating a new (regression) issue is the best way, or else there are high chances to get things like this 100% ignored, unseen, forgotten.
TIA and ciao
MDL-35210 has been created to fix that testing code. Integrating it right now.
Hi, this is missing one important part in groups restore, the itemid needs to be recalculated, storing the original value is wrong. I am going to adda callback a new plugin callback for enrol plugins as part of
MDL-31437. I am not sure what to do with the rest of plugins.
Hmmm, I was surprised that the UI allowed me to remove membership created by my enrol plugin, I expected that it would be protected in the UI.
Arrrgghh, the restore is a lot worse than I expected, the groups are restored before enrolments which is very wrong, we can restore group membership for enrolled users only, also this prevents calculation of new itemid for the group_members records...
I suppose this will require major surgery in the restore code and maybe also backups.
Hi, I think I have resolved all problems I found in
- the group memberships are restored after enrol instances
- there is a new plugin callback for 'xx_yy_restore_group_member($step, $data)' - please update your existing plugins if you want the restore in your plugin to work properly
- I found the 'xx_yy_allow_group_member_remove()' callback and fixed the enrol JS UI to respect it
- unenrolment code removes the linked group memberships automatically
Thanks a lot for this improvement!
I notice this has both dev_docs and docs_required labels. Could someone tell me what is required for user docs as I'm not really sure, or is this just a dev_docs thing? Thanks
Mary: This is probably borderline but the user documentation relates to the fact that with this feature, if group membership is created by an enrol plugin instead of manually by the user, you may then not be able to remove those group members using the normal interface (because the plugin owns the group membership, so you'd have to get rid of them some other way, like turning off the plugin).
In core this feature is only turned on for the 'IMS Enterprise' enrol plugin. So group members added by that enrol plugin cannot be deleted. It may be used more widely by other third-party plugins.
Usually the reason for doing this is that it doesn't make sense to delete people or that it would result in inconsistency. For example, in the OU's case (this is probably a common pattern), supposing staff were to delete a group member that was automatically created by our internal systems. This group member would be added back in the next day by an overnight data update. Good thing pantomime season is here because it's like, you've fixed the problem... OH NO YOU HAVEN'T! Staff shouldn't delete the user in the Moodle interface, but instead need to get them moved properly in the university systems that Moodle is getting its data from. So that's why it's good to prevent people deleting entries in Moodle that were added by this kind of enrolment plugin.
Also, when group members are owned by a plugin like this, there is information below their name on the group screen. See the screenshot in this issue.
Thanks to Sam and Peter for the explanatory help - removing docs_required as this information has now been added to http://docs.moodle.org/24/en/Groups and http://docs.moodle.org/24/en/Cohort_sync
Removing dev_docs_required as this issue does not require developer documentation.


text:
Lowest Price Guarantee
The Sherwood Nexon N4 hockey stick is the most affordable stick in the Nexon line-up. It may be the entry level stick in the line, but the N4 still packs a lot of the features found on the higher sticks in the Nexon line. The N4 is constructed using a combination of carbon and fiberglass that is compression molded together to offer great feel and response. Using Sherwood's Pro Balance technology, the N4 has a thinner blade design to remove weight and make the stick more balanced. The Nexon N4 also has an enhanced low-kick point for quick wrist and snap shots. The blade on the N4 is constructed using high-density foam and is reinforced with fiberglass to dampen puck impact and increase durability.
- Heritage: New
- Level of Player: Ideal for the beginner to intermediate level of player
- Construction: Fused one-piece
- Shaft Dimensions: Rounded corners/Double concavity
- Flex Point: Low kick
- Weight: 578 grams (based on PP26 curve, 87 flex)
- Construction:
- Varimax Technology
- Wrapped with a compression molded carbon fiber/fiberglass
- Layers of materials strategically oriented from top to bottom to provide direct puck response
- Pure Sense Technology
- Shaft runs through the heel of the stick providing constant contact with the surface and puck
- Stick feels like a pure body extension
- Pro Balance Technology
- Thinner blade design removes weight
- Provides the optimal balance point
- Flex Profile:
- Sniper Technology
- Enhanced low-kick point for quick wrist, snap shots
- Additional 4" "Flex Free Zone"
- Four-inch zone can be cut without changing the flex
- Geometry:
- PRO FIT shaft - rounded corners, concave sidewalls - perfect fit
- Grip: Smooth stick finish
- Blade:
- Foam Stabilizer Technology
- Lightweight high-density foam core
- Dampens shocks from high impact shots, passes - greater feel and comfort
- Wrapped in fiberglass - good stiffness for increased shot accuracy
- Flex: 90
- Length: 60"

subset: commoncrawl


text:
Givenchy Leather Gladiator Sandal
Sorry, this item is sold out!
Looks like you've got more shoe shopping to do - have fun!
Looks like you've got more shoe shopping to do - have fun!
Item # 247647
Through creativity and fashion-forward design, Givenchy footwear is the epitome of luxurious style. This gladiator sandal can be paired with your boyfriend jeans and a vintage tee for a chic, casual look.
- Leather upper
- Back zipper
- Round peep toe
- Fully lined in leather
- 1¾" block heel
- Leather sole
- Made in Italy
- View more Women's Givenchy Shoes
- Online Exclusive!
By: angellove
Location: seoul
August 23, 2013
not comfotable
"design is good but It is not comfotable..........."
By: jahh
Location: los angeles
June 17, 2013
not worth the price tag
"I was so excited about the style of the shoe, perfect for me, but the leather was so mass produced looking, very stiff. I was expecting much better quality for the price and brand. Why are all the shoes made in very uncomfortable leathers? I hope a moderate shoe company knocks this style off in a nice, wearable leather-even faux would have been better than these. returned and considering returning the other pair of kelsi dagger for the same stiff leather reason."
By: banutka
Location: NH
June 14, 2013
Great shoes!
"These are chic, beautiful, comfortable, and perfect gladiator sandals. The straps don't leave impressions in your feet and the fit is true-to-size. The quality is great. Highly recommend to anyone who wants stylish comfortable sandals. I had to return them by only one reason: my bunions were too visible."
Click anywhere to close this.


text:
Dr. Scholls Razzle Wedge Sandal
Sorry, this item is sold out!
Looks like you've got more shoe shopping to do - have fun!
Looks like you've got more shoe shopping to do - have fun!
Item # 270277
This cool and casual flip flop is perfect for weekend wear! The Razzle from Dr Scholl's looks great while keeping your feet comfy!
- Faux leather upper with side stretch panel
- Crystal embellished buckle detail
- 1¾" EVA wedge
- Synthetic sole
- Imported
By: FoxxyTrishaCD
Location: Mahopac,New York
January 01, 2014
Very Comfy Sandals
"I really love these sandals. I saw them in the store and they caught my eye. I tried them on and love they way they look with my painted toenails. I just had to have them so I bought them."
By: OCCC
Location: Chicago, IL
December 05, 2013
Dr. Scholls Razzle
"I like the black/white zebra upper and buckle, but not crazy about the wedge material."
By: Fivepearls
Location: Dumfries, VA
July 01, 2013
"I initially loved this shoe. I bought this shoe on a Thursday and Monday I took it back due to poor craftmanship. I knew I would do better with the second pair...WRONG! I ended up taking the second pair back as well within a month because of the same problem. Bottom line, there is nothing but glue holding this shoe together. I can't believe that Dr. Scholl has such a poor quality item on store shelves."
By: shoegal0317
Location: Southlake, TX
June 27, 2013
Very Comfy!
"I got the silver color and they are a little more "plastic" looking that I would like but they make up for that in comfort!"
Click anywhere to close this.


text:
pygame is
pygame.org is
Marble Madness
Marble Madness - 7.5
Ian Mallett (geometrian)
Let's face it. You're a marble. How did you get like this? For reasons unknown, you have been transformed to this state by the good King Gargrenought, who has recently decided to be evil. Fortunately, the spell the King used backfired after hitting you, so he is now a marble as well -- just bigger. Your present goal is to seek revenge for this nefarious deed, though reverting to your previous state is obviously good as well. To do either, however, you must battle your way through the King's palace for the final showdown...
I changed the subprocess handling to be more efficient, organized the whole program folder, updated the textures, stopped the annoying bouncing of self explosion particles when they should be stopped, made some sound and graphics options, fixed all of the options on the menu, and updated the collision detection (probably the single largest change) so that you can slide along the walls. There's probably some other stuff I did too, but forgot about.
Pygame.org account Comments
If you wish to leave a comment with your pygame.org account, please sign in first.


text:
Veterinary Medicine Office of Public Engagement
skip to events
link for robots only
advanced search
Event Detail Information
SpeakerDr. Anne Barger
Date May 4, 2013
Time 9:00 am
Location College of Veterinary Medicine Basic Sciences Building 2001 S. Lincoln Ave. Urbana, IL 61801
Sponsor College of Veterinary Medicine, 2001 S. Lincoln Ave., Urbana, IL
Contact Crystal Zulauf
E-Mail email@example.com
Phone 217-333-2907
Event type Other
Views 2672
This course is designed as a brief review of renal physiology and urine production but will also review current laboratory testing. By the end of this course you will:
- Have a thorough understanding of clinically relevant renal physiology
- Identify cells, crystals and organisms in urine sediment
- Perform all common urinalysis testing
- Combine information from serum chemistry and urinalysis to get the most from your laboratory data


text:
JS by Jessica Kopes Wide Calf Wedge Boot
Sorry, this item is sold out!
Looks like you've got more shoe shopping to do - have fun!
Looks like you've got more shoe shopping to do - have fun!
Item # 263104
Exude excellence in the Kopes from JS by Jessica Simpson. This wedge bootie is stylish, trendy, and the perfect match for your skinny jeans.
- Faux leather upper
- Belted straps with adjustable buckle
- 13" shaft height, partial inside zipper
- 16" calf circumference
- 4¼" covered wedge
- Synthetic sole
- Imported
By: KarenDB
Location: Philadelphia
April 04, 2013
Not as Advertised
"This boot was advertised as a wide calf boot and I could not get this boot up my calf. The boot is also very narrow and did not fit well at all. I returned them."
By: Hearteater
Location: Long Island, NY
March 30, 2013
Thank God for Jessica!
"I have the biggest calves and can NEVER find boots that fit them yet boots are so chic and all that I want. Especially for these winter events. I bought this boot online praying that this supposed "wide calf" wouldn't be a lie. I was pleasantly surprised because the fit perfectly. True to size, measurements correct, and leather soft and comfortable. Would purchase again and again."
By: mholly81
Location: Atlanta
February 21, 2013
Nice wedge boot
"They would have been almost perfect if they were real leather but I still like them. Comfy and cute boot"
By: Jonelle15
Location: Bronx, NY
February 21, 2013
Not too wide of a calf
"I like the boot. Wish the zipper was at the top."
Click anywhere to close this.


text:
The first thing that might come to mind when you think of Katy Perry is her outrageous wigs and outfits, from music videos like "California Gurls" to the MTV VMAs. But other celebrities usually match her for outlandish dresses and inexplicable accessories: Nicki Minaj, Lady Gaga, Jessie J.
But there's one way Katy outshines these other performers: She's one of the most prolific Twitpic posters. Whole news stories have grown up around photos taken by or of her; it's part of the reason she has such a big fanbase. So in celebration of Katy's 27th birthday, we've compiled her best shots.


text:
Price: $486
This item has been shown 3196 times.
JBA 1676S-1 Stainless Steel Cat4ward Headers 05-10 Ford F250/350 5.4L Superduty
Our Part Number: JBA 1676S-1
Item Description:
JBA Cat4ward Headers, Stainless Steel
Increase your horsepower and torque for your ride--just bolt on these JBA Cat4ward headers! These headers are designed with 3/8 in. thick laser-cut flanges, mandrel-bent primary tubes, and feature JBA's patented Firecone merge collectors. JBA includes premium-quality mounting hardware and instructions for the installation and, unless otherwise noted, these headers are designed to fit the vehicle as it came from the manufacturer. This would include components such as cylinder heads, chassis, steering, motor mounts, body mounts, bushings, etc. If aftermarket components, parts from other applications, or custom-altered parts are used on your vehicle, it is the installer's responsibility to verify fitment.
Click the JBA banner below to view all of our JBA products!
Any vehicle compatibility listed is for reference for OEM applications only, unless otherwise noted. If you have modified your vehicle in any way, compatibility may or may not work for your specific application. Specific item application(s) may or may not be limited to,or include allcompatibilities listed. Some adaptation and/or modificationmay be required.
If you have any questions on fitment for your specific application, please contact us or the product manufacturer.
The original is still the best!
- Don't settle for less than the great performance, power, sound & quality of JBA Headers and Exhaust Systems.
- Mandrel bent stainless steel provides the best flow and durability
- 3/8" flanges with oversized exhaust ports and machined sealing beads for better flow with no leaks
- Patented Firecone® collectors for maximum HP & TQ Premium gaskets and fasteners
- Optional polished silver ceramic or titanium ceramic coating
- Best selection of 50 state smog legal applications
- High flow stainless steel muffler
- Larger diameter mandrel bent stainless tubing
- High quality hardware
- Stainless steel polished chrome tip
- Factory style hangers
1-515-733-2890Click on our store image to view our entire listings of High Performance Products
Click here for $1 sales!
Please make payment within 7 days of sale end.Paypal and U.S. based credit cards (Visa/MC/Discover) are accepted. We useourmerchant account toprocesscredit card paymentssopleasecall us at (515)733-2890 and we cantake your payment or answer anyquestions you may have.
In order to comply with Paypal's protection policy, any Paypal payment totaling $750.00 or more must be sent with signature confirmation on delivery. This totalapplies toitem price plus the shipping amount and also applies to all packages. If your order is sent in multiple boxes you will need to sign for each one.
Domestic Customers Within the Lower 48 States:
- Paypal payments of $0-$749.99:no signature required
- Paypal payments of $750.00+: signature REQUIRED (on all boxes if multiples)
Within the lower 48 states:
The listed fixed price shipping is to the lower 48 states only. All others will be additional.
We are happy tocombine shipping on sales when possible.Normally it will be the highest shipping amount plus half the shipping amount on other items, sometimes better on orders of small items. Some items are not combined due to size or weight such as crankshafts, torque converters, radiators, cylinder heads, etc. On multiple item purchases the shipping amount is not figured automatically during checkout so please request a new invoice or wait for us to send a combined invoice so we can adjust the total.
Wemay have sales that state free shipping when purchased withcertain items.If purchasingitems withfree shipping, please request a new invoice before paying.The shipping amount is not figured automatically during checkout. We are unable torefund your Paypalonce payment has been sent.If you have any doubt what your shipping will be please feel free to call us at 515-733-2890 during business hours.
The majority of our listings will automatically calculate UPS shipping charges to your location. It is the buyers responsibility to pay any duties and taxes at the time of delivery. We do have a few product lines that will also calculate a USPS priority mail charge. Please contact us if a listing will not automatically calculate you a shipping charge or you feel the price quoted is too high.
Paypal payments $750.00 and above will ship only by UPS/FedEx and require a signature on delivery.
Shipping is based on weight and size of package. We will try to combine as many items into one package as possible but doing separate checkouts makes it hard. Please message us for a quote before buying multiple items.
All items will be declared as actual value, we do not mark as "gift" or at a reduced value! Shipping costs are not figured into the actual value.
Powered by SixBit's eCommerce Solution response From Buyer Date/time All good! g*******n ( 3795 ) 2016-07-28


text:
How-To Geek
Screenshot Tour: 10 New Features in Android 4.2 Jelly Bean
Android 4.2 improves on Android 4.1 in numerous ways, adding a variety of new features. Android 4.2 isn't as big an update as Android 4.1, also called Jelly Bean, but it's a definite improvement.
If you have a Nexus 7 or Galaxy Nexus, you should be getting this update very soon. Unfortunately, it will likely take quite a bit longer for manufacturers to ship Android 4.2 on non-Nexus devices.
Multiple User Accounts
Android 4.2 includes support for multiple user accounts. It only functions on tablets, so it's named Tablet Sharing. (Some people speculate that Nokia may have a patent on multiple user accounts for smartphones.)
Each user account has its own "space," as Android calls it. You can leave an Android tablet laying around and multiple people can have their own accounts, settings, home screen setups and apps whenever they pick up the tablet and unlock it.
Gesture Typing
Android 4.2's feature includes a Swype-like Gesture Typing feature. You can type a word by quickly swiping over the letters with your finger – ideal for quickly typing with a single finger. Unlike Swype, the keyboard automatically guesses the word you're trying to type in real-time, so you get instant feedback and don't end up accidentally typing a word you didn't mean to type.
Quick Settings
Android 4.2 now includes a quick settings panel that gives you quick access to frequently used settings, including Wi-Fi and Bluetooth settings, airplane mode, a brightness control, and battery information. To access it, pull down from the upper right corner of the panel on a tablet or pull down from the panel with two fingers on a smartphone.
Samsung's TouchWiz and other Android skins have long included a similar feature, but it's now integrated into stock Android.
Lock-Screen Widgets
Android 4.2's lock screen now supports widgets, similar to the popular WidgetLocker app. Out of the box, you can add Gmail, Calendar, and Clock widgets to easily view your emails and calendar events without unlocking your device.
New Camera App & Photo Sphere
Android 4.2 includes a new Camera app with a clever interface. Instead of toolbars and buttons you have to hunt for, a quick settings menu appears wherever you touch in the camera app. This allows you to quickly change settings with one hand while taking a photo.
There's also a Photo Sphere feature, which allows you to take Google Streetview-style 360-degree photos of a scene.
Google Now Improvements
Along with Android 4.2 come new cards for Google Now, although the new Google Now features aren't exclusive to Android 4.2. There are new cards that display information about flights, hotels, packages, restaurants, and events – Google watches your Gmail account for confirmation or tracking emails and displays this data in Google Now.
Android 4.2 includes a Daydream feature that allows Android to function as a smart screensaver. When docked or charging, you can have your Android's screen stay on and display content from any app with Daydream support. For example, you can display a clock, view a photo slideshow, or show new content from Google Currents.
Android 4.2 supports the new Miracast industry standard for display-mirroring over Wi-Fi, allowing you to wirelessly stream video from your Android device to any Miracast-supporting display. You'll be able to buy televisions and other displays with integrated supports for Miracast, as well as receivers that plug into HDMI ports on displays without integrated Miracast support. In time, Miracast could be the rest of the world's answer to Apple's AirPlay.
Gmail Improvements
The Gmail app has a few improvements Gmail users will appreciate. In the message list, you can swipe an email to the left to archive it, or swipe the email to the right to delete it. Gmail also finally has support for pinch-to-zoom, allowing you to deal with HTML emails much more easily.
New Clock App
Android 4.2 includes a new Clock app. While this isn't a groundbreaking new feature, the Clock app looks a little different from the stock apps we're used to, complete with unusual-looking fonts. Along with the Camera, this could be a hint of where Android's interface may be headed in the future – who knows!
Android 4.2's support for multiple users is probably its biggest new feature – there's no new feature quite as groundbreaking as the Project Butter performance improvements or Google Now in Android 4.1. Gesture typing, quick settings, and lock-screen widgets bring popular third-party features into stock Android and make them part of the operating system.
Comments (19)
Good article, I see that Android progress
This is cool
These are cool features, for non-rooted users =)
i just updated my galexy tab 2 3100.in jellybean.
its awesome..and an newthing i found its face lock …….and its working smooth….thanks
love android…***k apple
Android > iOS …
There's a Gapps pack floating around that gives most of those features to those running 4.1 (Camera, Gmail, Clock, Keyboard, Google Now).
I'm running Jelly Bean on my Galaxy S2
Wish I know how to root my phone to get latest enhancements
Are yall sure those are'nt ubuntu screenshots? JK love my jellybean :)
A non-rooted Android beats a Jailbroken iOS any day of the week….and I know from experience.
MdKnightR sir, you are so damn right!
it is really funny and awesom….
I love the way that every version of android is getting better and better..
Any word about Adobe Flash?
what about performance ? my sister has galaxy s3 and she says it sucks because it suffers from too many "mini hang ups" .
i think the biggest and bestest is that it now syncs with Outlook Tasks…Fianlly! (on Galaxy Note 2)
I like the direction Android is heading: a clean, intuitive and fast to use interface with brilliant, little features which add to the overall experience. I am amazed how well Android is progressing in these times. Sure, there might be some optimization issues here and there, but so far I did not run into something major with my devices.
Please note that everything I state represents my humble opinion.
Thank you Thank you and Thank you for writing gr8 articles always :)
High five for the Linux developers !!
I don't see how you get the new camera interface or photo sphere option. How DO you get that? And yes, I am going thru the original camera widget. Do I need to do something 'special'? And yes, I DO have jellybean installed. I am using a non rooted Samsung GS3. Can someone assist? Same with the Daydream feature. How do you get to this? Thank you! :)


text:
So vilmatime.. gimme till at least Sunday/Monday for Game 1. It's gotta be played by next Tuesday at the very least. Let's discuss potential schedules to try and get this game done. I don't know if you've got some type of rules in your house for times you can play, so lemme know, homie.
Amen, I got you next!!!!!!!!!


text:
Skip to comments.ACORN Protests Arizona Sheriff's (Joe Arpaio) Decision to Segregate Illegals
Posted on 02/05/2009 8:46:47 AM PST by radar101
PHOTO: http://www.nzherald.co.nz/world/news/article.cfm?c_id=2&objectid=10555339
The community organization group ACORN is protesting a decision made by the self-proclaimed "toughest sheriff in America" to keep illegal immigrants at tents that house prisoners, separate from the rest of the inmate population.
ACORN has lambasted Maricopa County Sheriff Joe Arpaio's action, calling it a "blatant disregard for civil rights."
Arpaio announced Wednesday that he plans to accompany about 200 inmates -- along with members of the media -- from a Phoenix area jail to Tent City on Wednesday afternoon.
"Sheriff Joe Arpaio and the Maricopa County Sherriff's Department have routinely violated the civil rights of members of communities through racial profiling, retaliatory arrests aimed at silencing critics and the separation of families, while simultaneously neglecting our public safety needs," ACORN said in a statement released Wednesday.
Maricopa County Supervisor Mary Rose Wilcox agrees with ACORN, saying she thinks Arpaio could potentially be violating the immigrants' rights by keeping them separated. She said she'd like to talk to the Justice Department and have staff there issue an opinion.
Wilcox -- a frequent critic of Apraio's immigration policies -- called the move a publicity stunt.
(Excerpt) Read more at foxnews.com ...
Let them eat...baloney.
What happened to the FBI investigation into ACORN's massive voter fraud and all the ACORN offices the FBI shut down??????? Any reports on what was found and who is being prosecuted?
Screw ACORN.
Organizing the jail community?
Notice how ACORN has become an "authoritative" force or "spokesman". Hmmmm, watch this bunch and I also question, what happened to the investigation into this fraud?
to acorn, where should the Sheriff take them? maybe the Holiday Inn??
CAIR, ACORN, the ACLU ... where's the House Committee on Un-American Activities when you need them?
...and with the HUGE STIMULUS PAYCHECK from the bill, ACORN should have enough money to protest anything they want.
You'd insult our "guests" with a mere Holiday Inn? I'm thinking the old "Camelback Inn" in Scottsdale. Went there for a conference about 20-25 years ago and it was pretty swank, just what the nuts at ACORN would expect for illegals.
Get the 50 Cals. and shoot at ACORN.
Mexicans violate my civil rights!
While I've always believed that jailbirds give up some of their rights by becoming wards of the state, I also believe that they have a right not to be raped or otherwise targeted with violence just because they are available and in jail. Any compassionate person would offer the same right to illegal aliens.
ACORN stands for
Association of Community Organizations for Reform Now
Why do Community Organizations that are desiring immediate Reform (of what?) care about how inmates are being quartered?
Hmmm, maybe the IRS would like to take a look at their non-profit mission statement.
Let's hurry and pass the porkulus bill so we can give ACORN a few billion more to turn our country into a sewer.
Suggest you contact your elected representative and ask. The elected reps so enjoy hearing from us!! Hold their feet to the fire. It may not get an answer, but you get the satisfaction of knowing you bugged your elected rep about it!
Mary Rose Wilcox is an old hag who supports amnesty and detests EVERYTHING Sheriff Joe does. She needs to be kicked to the curb.
Acorn can go stuff it. Besides they better be careful as they hopefully will end up occupying those tents. I would love to see that for those crooks.
Everyone please send a message to people like Wilcox who are obviously more concerned with rights of illegal aliens than upholding the laws of this nation - here is her contact info:
MaryRose Wilcox (D)
Maricopa County District 5 Supervisor
301 W. Jefferson, 10th Floor
Phoenix, Arizona 85003
(602) 506-7092
Piss on ACORN!
This was my first thought. There are a lot of illegals who aren't criminals, other than being here illegally, and it is courtesy to separate them from hardcore criminals. ACORN is a criminal organization that thinks everyone is corrupt like the members of ACORN, and they can't understand that some people appreciate not having to be in the company of criminals. In their limited world view, they equate segregation with bad white people like Georgia's ex governor Jimmy Carter. Arpaio should call his act of decency something else.
Illegals do not have civil rights.
Illegal immigrants march to new Tent City
More video (click video box upper right hand corner)
Although racial profiling is actually a good thing and should be resumed whenever possible, the good sheriff's profiling here is constitutional profiling. The American citizen sheep who have constitutional rights are being separated from the illegal alien goats who have no such rights.
MaryRose Wilcox (D)
Maricopa County District 5 Supervisor
301 W. Jefferson, 10th Floor
Phoenix, Arizona 85003
(602) 506-7092
MaryRose Wilcox (D)
Maricopa County District 5 Supervisor
301 W. Jefferson, 10th Floor
Phoenix, Arizona 85003
(602) 506-7092
Your tax dollars at work!
IIRC (and please correct me if I'm wrong) the only criminals in Tent City are convicted felons who have been sentenced to serve more than a year in prison. "Short timers", like people convicted of misdemeanors or people awaiting trial who can't afford to post bail, are housed in a conventional jail.
Wouldn't jail be the ultimate "affordable housing"?
What's the big deal? Blacks, whites, Mexicans and Southern Mexicans are routinely segregated from each other to avoid violence.
Current Affairs: Hispanic Issues
Here are some links to various sites across the Internet that specialize in Hispanic issues. If you have any suggestions for other sites that are not on this page, please e-mail me.
Affirmative Action: Mexican American Legal Defense and Education Fund The Latino Web Site
Citizenship: National Association of Latino Elected Officals
The Latino Web Site
National Council De La Raza
The Latino Web Site
Leadership Internships:
National Association of Latino Elected Officals
Additional Info:
Valle del Sol
Doing Business with Maricopa County
Congressman Grijalva
Arizona Mexico Commission
I don't suppose ACORN or any of the other pro illegal alien regimes have a problem with 300,000 illegal aliens getting jobs in the dem's porkulus package:
From: Roy Beck, President, NumbersUSA
Date: Wednesday 4FEB09 3 p.m. EST
Contact your Senators to stop stimulus bill from giving 300,000 construction jobs to illegal aliens
Famed analyst Robert Rector of the Heritage Foundation has just released an estimate that the stimulus bill on the Senate floor would provide construction jobs to roughly 300,000 illegal aliens.
A Heritage Foundation release states that the travesty could be largely avoided if the Senate would adopt an amendment similar to one that passed the House requiring all recipients of stimulus money to use the E-Verify system.
Friends, it is imperative that as many of you as possibly can begin phoning and faxing the minute you see this. The amendments may come up for a vote tonight (but could just as easily be tomorrow). We must make sure that every Senator understands that a vote against an E-Verify amendment is a vote to use the stimulus money to hire 300,000 illegal-alien construction workers.
* Phone your Senators now at 202-224-3121. Go to your customized Action Buffet corkboard for a phone note with talking points and other assistance.
I sent her an email. Enjoyed it, too! Thanks.
Is this a strictly one sided article with no comment from Arpaio?
I've seen documentaries on Arpaio's prision. There have long been tent cities and not all of the prisioners housed there are illegal aliens.
FWIW, I just came across the definition of "ACORN" in the NetLingo Internet Dictionary. Here's what it said:
A Completely Obsessive Really Nutty person
(pronounced as a new word: acorn)
An acronym used in online chat, IM, e-mail, blogs, or newsgroup postings.
Thanks to http://www.netlingo.com for the info!
whenever mary roses's name pops up, i think of the shot to her butt
according to news KFYI, these illegals have been convicted of crimes and will be deported as soon as they are done serving their sentence
Notice how ACORN has become an authoritative force or spokesman
we haven't seen anything yet, wait until they get their billions from the stimulus package. They will recruit for his civilian police=army.
Get the 50 Cals. and shoot at ACORN.
I'm surprised that hasn't happened actually.
Let them eat...baloney."
Peanut butter and jelly.
We went in there to search Tent City back around 1995. One of the things we had to do was search all the inmates who were returning from their day jobs to spend the night in the tents. Those were probably DUI-type folks, those who were not violent or hardcore. The really bad people are housed inside the hard jail cells.
Arizona is a very Red state. Every ballot measure that makes it hard on illegal aliens always passes with overwhelming support from voters. ACORN will get no foothold here.
That's exactly where I was heading with my comment but I didn't complete it but you did and that's all that matters. Others must keep their eyes and ears open for such training and organization, it's important. Also, you can't train so many without it being obvious but then again, I don't think "they" worry about being obvious, they've been very upfront with their agenda...
ACORN=trouble for the US.
Maricopa County Supervisor Mary Rose Wilcox agrees with ACORN, saying she thinks Arpaio could potentially be violating the immigrants' rights by keeping them separated. She said she'd like to talk to the Justice Department and have staff there issue an opinion. Wilcox -- a frequent critic of Apraio's immigration policies -- called the move a publicity stunt.Wilcox is right -- the ACORN move *is* a publicity stunt.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.


text:
Did You Know? Countdown to Halloween 2009 (10/19)
Did You Know?
Facts, Figures & Folklore
About Halloween
Oct 19 : 12 days till Halloween
Did you know that legends claim the "jack-o-lantern" got its name from a mean old man named Jack?
Legends have it that a stingy and mean old man, named Jack, was too mean to get into heaven when he died.
When Jack went to hell he was meet by the Devil who gave him a piece of burning coal and sent him away. Jack placed the burning coal in a turnip to use as a lantern to light his way. The legends claim that Jack is still walking with the "jack-o-lantern" looking for a place to stay.
Did you know that the United States produces more than 998 million pounds of pumpkins?
That's a lot of Jack-o-Lanterns to make! The largest producer is Illinois, which grows an average of 457 million pounds of pumpkin. All these pumpkins are valued at more than $100 million.
The holiday of Halloween dates back to the Dark Ages. Once truly spooky traditions have morphed over the years into much more light-hearted (but still mischievous) celebrations. Here is a fun look at some of the facts and folklore that describe how All Hallows Eve came to be celebrated as Halloween. Join us for a new Did You Know? each day as we count down to Halloween.
Halloween will be celebrated on Saturday October 31st.
Signup for our Did You Know? Holiday Countdown emails or follow us on Twitter – twitter.com/holidaysnet (@holidaysnet)


text:
3 Zen Cart Templates and counting!
Animals & Pet Zen Cart 1.5 Templates
These animal and pet zen cart templates are a good solution for all the pet lovers, pet stores, pet supply companies, animal services, pet clubs, and any animal related online store or website. You will find plenty of dog and cat themes for starting your own personal website or business that could be anything from showing off puppies and kittens, or for selling pet related services and products. Some of these zen cart templates are also great for ideas and services that revolve more around exotic and wild animals such as tigers, lions, toucans, pandas, elephants, and lizards. Zen Cart 1.5 is an open source online store management system that you can use to easily run your own online store. Our animals & pet Zen Cart templates provide you with the simplest solution in setting up your own e-commerce store. Features are very similiar to that of osCommerce including an ad banner controller, shipping options, multiple payment options, newsletter manager, discount coupons, gift certificates, featured products, quantity discounts, and phpBB integration through an external module. All of the files are included with your purchase for easy installation and customization. To use our Zen Cart templates you should make sure your webhost allows you to use PHP and MySQL. The templates in this section run specifically on Zen Cart version 1.5.
Page Number: 1


text: reading the latest chapter, i couldn't help wondering that aizen knew something about ichigo before ichigo even became a shingami. Starting with him meeting rukia, was that a coincedence or did aizen just have the right timing or so. i knw it might not make a lot of sense but still. And there is another thing, when byakuya was on the bridge and icihigo flew in to save rukia after he defeated ganju. when ukitake saw ichigo he had a certain expression on his face and byakuya told him not to worry about it that he is not the man that just flashed through his mind. maybe not exactly what he said but the expression ukitake had means there was some kind of connection about ichigo or something and am wondering if aizen knew that particular thing. reading this chapter is to me saying aizen knew everything about him ichigo and planned everything out for him, what do u guys think or am i just looking too much into it.


text:
News from the Green River potluck group: Chris Lezama passed out a draft of an events calendar for 2014 that included major holidays, Green River events, Emery County events, Moab events, and important dates to remember. There could be additions made to the document after touching base with tourism officials and community members. Terry suggested adding the Halloween Gymkhana at the stables.
Lezama spoke with Paul, the director of the rocket competition earlier in the week. According to Paul, 40 college teams will be a part of the event this year. There could be around 250 people coming in for the competition if all those who RSVP'd come. Colleges like Utah State University, University of Michigan, UCLA, as well as international colleges will be in attendance, including two teams from Turkey and three teams from Brazil. The event will take place June 25-28, which is one more day than they are usually in Green River. The extra day is intended to accommodate all the extra teams who plan to launch rockets, but they may also take the opportunity to explore tourist sites in the area.
They may look to utilize a larger space for the event, and could be interested in hosting the rocket presentations at Green River High School. Just like last year, they are interested in and excited about the idea of partnering with the community on events. Ethan asked if they could show some of their rockets to interested locals in the park, which could be better than hosting the community event at the museum. Chris asked if those in attendance knew of events that the community could hold simultaneously or that went with the rocket theme. Penney suggested that we could launch water rockets as a community event. Penney and Ethan suggested that the event could be in partnership with Emery County Recreation.
At the previous POTLUCK meeting, those in attendance discussed the difficulty in having residents know about events and goings-on in the community. Ethan suggested adding a message about upcoming events on the utility bill postcard. Karen mentioned that all people would have to do would be to notify her about the events coming up. The idea of an LCD display at City Hall that showcased community events and various business sponsored messages was discussed. Maria mentioned that Facebook was an effective means of communicating with audiences. Maria said that she could gather all the Facebook links for businesses in town and email the list out to POTLUCK members and people could like the links they were interested in. Terry asked about the possibility of doing a one-hour training about how to run a Facebook page. Maria said that there was one that happened last this year and could happen this year as well.
The Castle Dale Library in collaboration with Emery County Tourism put on a customer service training called "Superhost". Roxanne, the librarian who organized the class told Chris a little more about it.
It was open to all community members, but was mainly targeted towards people who work with the public on a regular basis (like librarians, museum and city employees). The training was a series of slide shows and presentations that including topics like customer service etiquette information about things to do in the area. Representatives from the state park, the swimming pool, golf course, and museum presented, and one presentation focused extensively on the San Rafael Guide brochure and how to talk about it and another focused on giving recreational climbers tips on what to do around the Castle Dale area.
She said that visitors are coming through the area anyway regardless, and the Superhost training was to help provide those people a better experience in the area. She did wish local business representation was there, but she thought the event was very successful and said that she could help us organize one down here as well.
Maria liked the idea of a class on how to talk about the daytrip brochure and new Green River foldout brochure.
Ethan mentioned that the event was geared towards those who have frequent contact with visitors passing through the area. Ethan thought it would be a good idea for any entity that has contact with out-of-towners to have employees attend that event. He thought one focus should be getting young people to learn more about customer service and suggested staggering the customer service trainings so multiple shifts could come to the event.
Sarah Siefken from state parks said the course has been busy as of late.
According to the Moab Times-Independent, "passenger bus service from Blanding and Moab to Salt Lake City and the Wasatch Front could begin as early as late April." The two "35-passenger coaches will come equipped with Wi-Fi Internet service, televisions, lavatories, and perhaps most importantly - comfortable seating." Stops will be Monticello, Green River, Price, Helper, Spanish Fork, and other locations. Ticket prices have not been set yet.
The ACE internship program is offered to Green River high school students who are interested in art and design. The main component of the program is teens working with Epicenter's resident artists (Frontier Fellows). Along with working with a visiting artist one-on-one, the internship also can involve resume creation, scholarship assistance, resume creation, personality tests and the like. The Fellows for 2014 include architects, screen printers, sound artists, furniture designers, and quilters. The current Fellow is Cyrus, an artist and musician, working with high school students Judith Trejo and Jori Pinneo in songwriting workshops. Maria asked if those in attendance knew anyone ages 12-20 that would be interested in participating in the internship. The program was made possible through funding from the United Way of Eastern Utah.
Cyrus has been working with Mr. Gowans' Language Arts class on a series of in-class workshops called "An Introduction to Oral History and the Art of the Interview". The assignment for the class was for students to sit down with a veteran for an hour and transcribe the interview. Cyrus thought this project would help motivate students to meet with people and help expand JoAnne Chandler's archive of veteran interviews. Tracy Siapiaras did an in-class interview and question and answer session. Other local veterans who have or will be interviewed include Ted Ekker, Tommy Hughes and Dale Richards.
Tesla is putting in their car charger stations at the museum. Tesla is going to be making more consumer friendly and less expensive cars this year, which could help increase its sales and potential for the charger stations to be used more.
Jack said there may be one more spot for a local community member to be on the trails committee. Current members are Penney Riches, Sarah Siefken, Kelly Dunham, Kerry Anne Smith, March Demillion, and facilitator Jack Forinash. The trails committee will be having a meeting with BLM and the Governor's Office of Outdoor Recreation and has been making good progress. There are multiple stages for the development of the trails including planning, raising funds, and implementing. Currently, they are in the planning phase.
Value Chain Analysis/wealth works: Carol came from Park City to discuss the Wealth Works Value Chain. Her organization, Rural Communities Assistance Corporation, has been involved with Green River for years. Carol's predecessor at RCAC helped develop Green River's housing plan and another RCAC staff member facilitated a leadership seminar with group of Green River citizens. RCAC is a non-profit based in California that works with rural communities all over the western US to make rural communities more sustainable. Richard Walker, Carol's predecessor, worked closely with Epicenter on the housing plan and Carol has been working with Epicenter on their process of becoming its own separate non-profit organization. She hopes to be more involved in Green River's economic development in the future.
Recently, Carol was privileged to learn about a new concept called the Wealth Works model, a form of framing economic development efforts combining community development and value chain modeling. RCAC is working with three other rural communities on implementing the Wealth Works model for their respective communities and Carol thinks Green River should be the fourth. Her Wealth Works training seminar was for three days in Pennsylvania.
The model was developed by the Ford Foundation and other non-profits who have an interest in rural communities. The concept behind it is "teaching rural communities to fish," helping them develop opportunities that develop their communities and connect them to the larger marketplace. The Wealth Works model is similar to the value chain model where an organization or business looks at every single piece of their operation and see how those components are adding value. The Wealth Works Value chain looks at community assets as a whole and builds off the wealth that exists already. According to Wealth Works, there are seven different kinds of wealth: built capital, financial capital, individual capital (skills of local residents), natural capital (environmental aspects), political capital, and social capital. One step would be to identify the community's wealth, then build value chains off those strengths.
The point of Wealth Works is that wealth stays in the community. For example, if Green River doesn't take advantage of the opportunities associated with the oil refinery coming in soon, then someone else will. Rural communities have been able to work with the Wealth Works model and worked to increase the quality of life. for their communities and take advantage of the opportunities in front of them. She believes Green River has a lot of good things happening and RCAC can work as a coach to support Green River's on the ground efforts. The first step is to get the right people in the room and to educate them about the Wealth Works model is, then after that, flesh out the sectors of wealth in the community, get some experts in the room, and figure out ways to take advantage of opportunities (i.e. railroad spurs).
A full development model would take two to four years, so it can be awhile. Jack thought that the analogy of "RCAC as Coach" was an apt one, because Green River citizens will be "playing the game". Carol said that RCAC is a coach, but will be right with Green River through this process. But, there has to be a coordinating team on the ground outside of RCAC.
Green River is updating its general plan and would like the whole community to be involved. Survey questions have been created and given out to every mailbox and she hopes people will take the time to fill them out. The survey is also online. There are about 30 questions about how the future of Green River should look and it's a way for citizens to be heard. Every survey submitted will be eligible for a drawing to get $100 off your utility bill.
Households earning under $58,000 can file their taxes via myfreetaxes.com/greenriver. The website is made available by H&R Block, Walmart, the United Way, and American Express. Those interested can use any internet-ready computer, including the computer at Epicenter to file their taxes, but Jack warned that Epicenter staff are not tax advisors.
Julie Zwhalen mentioned the The theme for this year's Melon Days is "Home Is Where the Melon Is" after Conae suggested that this year's Melon Days should have a homecoming focus. There were other suggestions for themes that may be used in future years.
Jackie mentioned that she would like for there to be a craft and vendor fair in the museum basement. A similar event happened at the senior center in the past, but it faded away. Putting an event like that in the basement would draw people to the museum. Maria suggested that the museum could charge the vendors to use the basement to earn extra revenue.
Tim Glenn is the new manager for the John Wesley Powell museum. Tim grew up in Salt Lake, graduated from the University of Utah in 2011 with a Master's Degree in Environmental History in 2011, and did a lot of studying of John Wesley Powell, so the museum job is a natural fit. He worked at a non-profit in Salt Lake City called Red Butte Gardens where they do a lot of programming for kids and adults via weekend classes and summer camps. He thinks there's a few things that he could carry over from his experience there. He would like to immediately expand the museum's membership by giving benefits and discounts to "Friends of the Museum", which would be a way for businesses and individuals to support the museum and get something back. Tim also is looking to partner with other museums in the area. Chris asked him what he thought of Green River so far and Tim said though he's only been in Green River for a couple days, he loves it so far. He's excited about Green River's location and how many things there are to do in the area.
Chris said there is momentum right now in Green River and it seems that capturing more tourism dollars is something POTLUCK should be doing more of. Penney mentioned that Green River could capitalize more on the events that are happening and that could happen, perhaps through Green River hiring an events planner. She would like a commitment from businesses in the business group to help events happen once a quarter. Penney thinks it would be a good idea to ask people in town, like employees, the kind of events that they be interested in because those are the events that Green River citizens would support...the kind of events that they would invite their friends and family to. After time with support, the event could grow into something. She would hope that businesses could commit one employee to help with an event a year, because if all the businesses chipped in, putting on an event would be much easier.
Jack mentioned that Green River could better the events that are already happening in town. The ATV trail ride, the Rocket Competition, and the triathlon are events that are already happening and could be better supported. Penney wondered if there was a way to tack on an extra event to those events that already happening so people attending the established event would want to stay an extra day. Jackie said that last year, the rocket people did demonstrations and presentations for locals as community outreach. They had a mini-rocket they set off and all the college students were happy to have people to talk about rockets with. But, she was disappointed that more people didn't know about it; publicity about the event in town could have been better. But, she thought that even what was done last year was great.
Jack said that if the city were to hire an events planner, an agreement could be created and the metrics of the agreement is tied to could be tracked pretty easily (e.g. how many people showed up to the event). Jack suggested that the position could start off small by making the events that already happening better and reporting the results to city council. Then, if appropriate, the position could be scaled up. Day-of volunteers are easy to get, but there has to be incentive for the point-person planning the event to do it. If that person is paid, he/she will make events happen and will figure out how to advertise them. Chad wondered if events could be advertised on something like an LED lighted billboard by city hall and also how much someone would have to make to make event planning worth their while.
Jackie said that Moab was in the same position that Green River is in now years ago, but learned how to capture tourism dollars by working with each other. They started small, but they learned to capitalize on what they had. Chris said that he and Maria talked with the Moab Chamber of Commerce Executive Director who said that Moab first built off the events that they already had, then provided seed money to people who wanted to start events during event calendar gaps. Then, they would see if the event grew. If it went away the next year, at least the event happened once. If it was successful, then the event would grow.
Chris said something that came up last week was the idea of recruiting more members. Keith drafted up a letter, Chris read the letter aloud, and it will be going out to businesses shortly. Chris said that was a broad approach to getting more people in, but asked if there was anyone specific they thought Chris should reach out to and will send out an email asking the same question.
The show "At Your Leisure" would like to once again feature Green River locales. They came down to showcase Melon Days and the golf course last year and are looking for new things to explore that would fit into a five minute segment. Those at POTLUCK mentioned the geyser, beach, Coal Canyon, and everything in the day trip rack cards.


text:
Remember how you got shipped off to your grandparents when you were a kid? Maybe you were kind of excited but also not so sure about how fun it could really be. Because the toys were different, the food was different and the rules were very different. And maybe home with Mom and Dad wasn't so bad after all. But, without any say in the matter, you went and trusted that these people had to be OK because they are kind of your parents, too. Then, as the days passed, and you bumped along in their musty sedan and stopped at their favorite donut shop and stared up at those crinkly, familiar faces, you found a new kind of love and routine and comfort. They became your home, too.
The time I spent with my grandparents was such a gift and, as much as I hated the mystery jello salad and ran into my mother's arms, grateful to go home, after the weeks had passed — they wove themselves into my heart and my history.
My grandparents were parents at a different depth and breadth. They were my parents to the next degree. They stood one step above the pedestal my parents existed on and their opinion had a certain weight because, well, they were the boss of my parents. And THAT was cool.
Since I've gone back to work, my father has graciously offered to come down for a week at a time when I've needed help with childcare. We call that time "Camp Gramp" and I hand over the keys to my car, my pool pass, my two children and all of my trust. And off they go.
I know how lucky they are for grandparent time. Grandparents don't always live right nearby. And sometimes they leave us far, far too early.
(I can't help but think about all I need to catch my mother up on. I suspect she knows in some way but she is still missing so much. And it breaks my heart.)
So back to Camp Gramp. This Spring Break, they took Tampa by storm. They revisited the SS American Victory, spent an entire day at The Florida Aquarium, splashed their afternoons away at the pool, leapt waves the beach, spotted animals at the zoo, got haircuts, watched Harry Potter movies over and over and, well, snuggled a whole lot.
I keep thinking (hoping) that they are relearning the world a little differently from the way I have taught them during those short periods of time. And maybe they are learning to love my dad the way I do. I want my boys to KNOW him and get him. And build their own kind of relationship that is different to theirs and mine. I want theirs to be the kind that gets Skittles at the gas station but also knows how the sound my father's voice can get if one of them pitches a fit at the zoo.
It makes me wish all of my family were closer. The other grandparents and all the various aunts and uncles they have scattered here and there. But that's OK. Because when they DO see them, those relationships solidify a little more with every visit and those routines develop in a matter of days because kids LOVE routines and predictability and the constant of those people that are the boss of their parents and so so familiar.
I'll take what I can get and cherish every second they get together and hope the memories are making themselves without me even really realizing it.
Thanks for Camp Gramp, Dad. I know how much work that was. But I love you and, even if they probably won't ever love your New York Yankees, they sure do love you, too.


text:
Free Shipping!
Lowest Price Guarantee
The Warrior Dynasty Hockey Stick offers a new construction that increases recoil and overall pop to all shots. Warrior has introduced the AXY SYM technology that increases compression on the backhand side for faster recoil while increasing stretch on the forehand for optimum load. The Dynasty stick has a similar overall feel to the former Warrior Dolomite stick but with improved construction and pop.
Warrior has continued to use the Multi-Bias fiber placement for increase durability and overall feel; as well as the high-end carbon elite material for a light feel and great power. Warrior has also continued to use the precision taper that was featured on the Dolo stick for a quick shot release.
The main new feature on the Dynasty stick is the AXY SYM technology. Although, Warrior has also introduced the X-Weave that also helps further increase recoil and pop. The D-Lite blade construction builds on the DoubleD blade core and increase overall feel and durability.
- Construction:
- Multi-Bias fiber placement to reinforce internal shaft structure and improve impact durability
- X-Weave fiber matrix allows for increased strength on back side and bottom of shaft and blade for increased recoil forward into the shot
- Carbon Elite construction uses the highest quality, lightweight carbon-fiber materials
- Shaft:
- AXY SYM technology allows for the utmost energy transfer and recoil into every type of shot and is built specifically for the right or left handed shooter
- Precision taper concentrates the flex point toward the end of the shaft for quick shot release
- Pro-balance blade and handle design for improved stick feel and weight distribution
- Additional three-inch stick length to avoid use of heavy extensions and end plugs
- Geometry:
- Double concave walls with rounded corners - Offers a great comfortable feel
- Grip: Smooth matted stick finish
- Blade:
- D-Lite blade core features stable heel with super-lightweight toe for improved balance and puck control
- Flex: 70
- Length: 57"


text:
Research, Charts & Company Announcements
Research Tree provides access to ongoing research coverage, media content and regulatory news on FASHION B AIR SA. We currently have 0 research reports from 0 professional analysts.
Frequency of research reports
Research reports on
Providers covering
The Slide Rule
12 Jan 17
What is The Slide Rule? The Slide Rule has been designed to dramatically simplify the identification of the best companies in the UK small/mid-cap sector by making a quantitative assessment of the relative potential of each company. At its core, The Slide Rule aims to identify those companies that create genuine shareholder value through strong returns on capital and solid growth, but also present a value opportunity with the potential tailwind of earnings momentum. Companies are assessed within a Quality, Value, Growth and Momentum (QVGM) framework.
Root & branch review – early margin positive
23 Feb 17
Unilever (ULVR LN, HOLD, T/P 3800p) announced yesterday that it will publish the findings of a root and branch review in April 2017. This is stated as being a result of the recent approach made to them by KraftHeinz (KHC US, N/RO), an offer which quickly lapsed.
A compelling global brand roll-out story
22 Feb 17
We believe that SuperGroup remains one of the most undervalued global brand roll-out stories within the UK retail sector. The stock trades at c20% discount to its UK peers on a 1YF EV/EBITDA basis despite best-in-class revenue growth and profit margins. SuperGroup operates a leading multi-channel proposition, has strong sales momentum across each channel and forecast risk remains on the upside. We initiate coverage on the shares with a buy recommendation and price target of 1898p, implying upside of 27.8% over the prevailing market price.
High single digit EPS growth remains on track
17 Feb 17
BAT (BATS LN, HOLD, T/P 5300p) announce their preliminary 2016 results on Thursday 23rd February. We forecast revenue to increase 13% to £14.8bn, in line with Bloomberg consensus, and adjusted diluted EPS to continue its positive momentum to 249p (232p FY2015). Analyst consensus is 246p.
Small Cap Breakfast
16 Feb 17
Saffron Energy—Schedule One update. Raising £2.5m, expected Mkt Cap £7.7m. Admission due 24 Feb. Italian Oil & Gas Play Guinness Oil & Gas Exploration—Publication of prospectus. Seeking to raise £50m and invest in 15 exploration companies at launch, with plans to grow the portfolio to 30 positions during its lifetime. Issue closing 23 Feb. Arix Bioscience — Intention to float on the main market from the global healthcare and life science Company supporting medical innovation. Raised £52m in Feb 16 with investors including Woodford Investment Management


text:
Just my way of sharing with family, friends, and anyone who will listen, the things that I have learned about my ancestors with a little bit about myself and my own little family in the mix.
Friday, January 18, 2013
Friday Funny: My Son --The Log Boy
8 comments:
I swear you have the cutest kids! The Odd Life of Timothy Green! comes to mind!ReplyDelete
ha ha ha... his arms appear to be missing but I sure can see his legs :-) Fabulous photo, fabulous fella!!!ReplyDeleteReplies
Thanks! My husband and I love him to pieces. He's a great kid.Delete
Cute picture. Before I saw his "legs" I thought he was trying to lift the log.ReplyDeleteReplies
I bet you that is how this picture started. My son is constantly trying to show how strong he is. He probably tried to lift the log and that is when my husband saw an opportunity for a great shot.Delete
He looks like a perfect woodland boy. Great shot.ReplyDelete
Thanks Kristin!ReplyDelete


text:
Preparing to Practice: Careers in Health Care Law with State Bar of Michigan Health Care Law Section
Join representatives of the State Bar of Michigan Health Care Law Section to explore the diverse career paths available in health care law. Our distinguished panelists are:
Eric Wexler, Chief Counsel, United Healthcare;
Chris Ryan, Giarmarco, Mullins & Horton;
Timothy Gutwald, Hall, Render, Killian, Heath & Lyman; and,
Mark Kopson '85, Plunkett Cooney.
Advance registration on Career Connect is required.