The thing in the error log is a definite bug. I’ve fixed it for the next version.
As you found, the name of the &parent parameter has changed to &parentId (to make the code clearer).
I couldn’t duplicate the published bug (but I may have fixed it). Try adding the second line below as line 1061 in the newspublisher.class.php file
(core/components/newspublisher/classes/newspublisher.class.php). If you don’t have line numbering, you can search for "array. Set them if not"
The comment should be there already.
<?php
/* these *might* be in the $_POST array. Set them if not */
$fields['published'] = isset($_POST['published'])? $_POST['published']: $this->published;
Important: Make sure the user has the publish_document permission in the Context Access ACL policy. And publish permission in any Resource Group Access policy if the resource is in a resource group.
I can’t reproduce the template issue and I can’t imagine why a different server would make a difference. I’m sure you’ve done most of this this already, but turn off the RTE for the NewsPublisher resource. Double-check the template ID and the spelling of the &template parameter name. Make sure there’s a question mark after the snippet name, the snippet is called uncached, and all parameters are surrounded by back-ticks and start with & (not &).
If that doesn’t work, try leaving out the &template parameter. The new resource should get the system default template (check the default_template system setting). Leaving out the &published parameter should also give the resource the default template (check the publish_default system setting too).
I assume that you’re talking about creating a brand new resource. Existing resources will get the published status and template they already have unless you change them in the form.