Well, I have modified a version of MODx to allow web users to create pages but since I added a few fields to the database structure the mod is not portable to stock installations. That said, here is how I go about allowing web users to add documents:
the basics of the snippet check if the user is logged in, then checks if a folder with the users name is available (this is where the document gets added after creation). If the parent folder id is not found they are not allowed to see the form...
if (isset($_SESSION['webShortname']) && isset($_SESSION['webValidated'])){
$tbl = $modx->dbConfig['dbase'].".".$modx->dbConfig['table_prefix'];
$output ="";
// get the users folder so we can set where the document needs to go
// once published
$sql = "SELECT * from ".$tbl."site_content WHERE pagetitle='".$_SESSION['webShortname']."'";
$rs = $modx->dbQuery($sql);
$row = mysql_fetch_assoc($rs);
if($row !=""){
$listing_parent_id = $row['id'];
$output . ="listing parent id is <b>".$listing_parent_id."</b><br>";
}else{
$output .="Could not find the parent folder so you cannot access the form";
}
note that this could stand a bit more error checking, and does not at all check for doc groups and such... I’m sure this is not the best way to accomplish this but it works ok for me so far.
As far as editing a tv, since I am unfamiliar with tv’s in general I have no ideas on that functionality at this point...