POST
|
I'm using Python 3.6.1. I tried pulling the latest version of your script and it stopped on the following: Traceback (most recent call last):
File "readDb.py", line 132, in <module>
writeCSV(surveys, outDir)
File "readDb.py", line 98, in writeCSV
with open(addfile, 'w') as outFile:
FileNotFoundError: [Errno 2] No such file or directory: './out/survey_Wetland_Arid_Veg_Tree_Repeat_adds.csv' Do I need to create the ./out directory or file first? If it matters, I'm running this script on a mac running macOS 10.13.6. Update: Actually, I just created the out directory and the script processed just fine. Looking over the CSVs now.
... View more
08-29-2018
04:41 PM
|
0
|
0
|
144
|
POST
|
Hi, James. Sorry, I just now got to this. I didn't have any luck with the updated script, unfortunately. I'm attaching the .sqlite file here, if you are interested in attempting to debug. It should only have 6 records or so, but several repeats. Dropbox - a084e65cd9403d813e8ec667ca329a63.sqlite Thanks again for your help!
... View more
08-27-2018
12:31 PM
|
0
|
2
|
686
|
POST
|
I never had luck with the python script. Perhaps it's because my survey had several repeats? I was able to open the .sqlite file in DB Browser for SQLite and export as JSON, then convert to GeoJson, then import into the "new" survey feature service. The schemas were the same, so the import was pretty smooth. I had to manually reattach photos, but fortunately it was only 7 records so it wasn't too bad. It was messy, and I hope I never have to do it again. But thanks for your help!
... View more
08-17-2018
02:59 PM
|
0
|
4
|
686
|
POST
|
Thanks, I was able to retrieve the .sqlite file. I attempted to run your python script to convert to .csv, but have run into another issue. It prints the first couple rows: ('Wetland_Arid', '"[{\\"attachments\\":[[{\\"editMode\\":0,\\"fieldName\\":\\"Photo_1\\",\\"fileName\\":\\"Photo_1-20180321-204554.jpg\\"},{\\"editMode\\":0,\\"fieldName\\":\\"Photo_2\\",\\"fileName\\":\\"Photo_2-20180321-204609.jpg\\"},{\\"editMode\\":0,\\"fieldName\\":\\"Photo_3\\",\\"fileName\\":\\"Photo_3-20180321-204620.jpg\\"},{\\"editMode\\":0,\\"fieldName\\":\\"Photo_4\\",\\"fileName\\":\\"Photo_4-20180321-204814.jpg\\"}]],\\"id\\":\\"%myform\\",\\"adds\\":[{\\"attributes\\":{\\"Veg_Tree_Repeat_count\\":\\"4\\",\\"Veg_Sapling_Repeat_count\\":\\"5\\",\\"Veg_Herb_Repeat_count\\":\\"10\\",\\"Veg_Woody_Repeat_count\\":\\"2\\",\\"Soil_Profile_Description_count\\":\\"8\\",\\"Sample_Date\\":1521615600000,\\"sample_type\\":\\"Sample_Point\\",\\"Sample_Point\\":\\"SP-5\\",\\"Investigators\\":\\"Other\\",\\"Other_Investigator\\":\\"R. Tobias\\",\\"Landform\\":\\"Depression\\",\\"Local_Relief\\":\\"Concave\\",\\"Slope_Class\\":\\"0-5\\",\\"Bare_Ground\\":\\"20\\",\\"Hydric_Soil_Ind\\":\\"Thick_Dark_Surface\\",\\"Restrictive_Layer\\":\\"No\\",\\"Hydric_Soil_Present\\":\\"Yes\\",\\"Remaks_soils\\":\\"Saturation at 6 inches\\",\\"Hydro_Indicator\\":\\"Surface_Water,High_Water_Table,Saturation,Water-Stained_Leaves\\",\\"Hydro_SW_Present\\":\\"Yes\\",\\"Hydro_WT_Present\\":\\"Yes\\",\\"Hydro_WT_Depth\\":6,\\"Hydro_Wet_Present\\":\\"Yes\\",\\"Hydro_Remarks\\":\\"Wetland B\\",\\">Veg_Tree_Repeat\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\",\\">Veg_Sapling_Repeat\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\",\\">Veg_Herb_Repeat\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\",\\">Veg_Woody_Repeat\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\",\\">Soil_Profile_Description\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"},\\"geometry\\":{\\"spatialReference\\":{\\"wkid\\":4326},\\"x\\":-117.60430254451438,\\"y\\":47.64294090447325,\\"z\\":730.9949951171875}}]},{\\"attachments\\":[null,null,null,null],\\"id\\":\\"$Veg_Tree_Repeat\\",\\"adds\\":[{\\"attributes\\":{\\"Tree_Stratum_Plot\\":\\"Shrub_15\\",\\"Tree_Stratum_1\\":null,\\"A_Per_Cover_Tree\\":null,\\"Dom_Species_Tree\\":\\"Yes\\",\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Tree_Stratum_Plot\\":null,\\"Tree_Stratum_1\\":null,\\"A_Per_Cover_Tree\\":null,\\"Dom_Species_Tree\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Tree_Stratum_Plot\\":null,\\"Tree_Stratum_1\\":null,\\"A_Per_Cover_Tree\\":null,\\"Dom_Species_Tree\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Tree_Stratum_Plot\\":null,\\"Tree_Stratum_1\\":null,\\"A_Per_Cover_Tree\\":null,\\"Dom_Species_Tree\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}}]},{\\"attachments\\":[null,null,null,null,null],\\"id\\":\\"$Veg_Sapling_Repeat\\",\\"adds\\":[{\\"attributes\\":{\\"Sap_Stratum_Plot\\":null,\\"Sap_Stratum\\":null,\\"A_Per_Cover_Sap\\":\\"70\\",\\"Dom_Species_Sap\\":\\"Yes\\",\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Sap_Stratum_Plot\\":\\"Shrub_15\\",\\"Sap_Stratum\\":\\"Black_cottonwood\\",\\"A_Per_Cover_Sap\\":null,\\"Dom_Species_Sap\\":\\"Yes\\",\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Sap_Stratum_Plot\\":null,\\"Sap_Stratum\\":null,\\"A_Per_Cover_Sap\\":null,\\"Dom_Species_Sap\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Sap_Stratum_Plot\\":null,\\"Sap_Stratum\\":null,\\"A_Per_Cover_Sap\\":null,\\"Dom_Species_Sap\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Sap_Stratum_Plot\\":null,\\"Sap_Stratum\\":null,\\"A_Per_Cover_Sap\\":null,\\"Dom_Species_Sap\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}}]},{\\"attachments\\":[null,null,null,null,null,null,null,null,null,null],\\"id\\":\\"$Veg_Herb_Repeat\\",\\"adds\\":[{\\"attributes\\":{\\"Herb_Stratum_Plot\\":\\"Herb_5\\",\\"Herb_Stratum\\":\\"Reed_Canarygrass_\\",\\"A_Per_Cover_Herb\\":\\"50\\",\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":\\"Herb_5\\",\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Herb_Stratum_Plot\\":null,\\"Herb_Stratum\\":null,\\"A_Per_Cover_Herb\\":null,\\"Dom_Species_Herb\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}}]},{\\"attachments\\":[null,null],\\"id\\":\\"$Veg_Woody_Repeat\\",\\"adds\\":[{\\"attributes\\":{\\"Woody_Stratum_Plot\\":null,\\"Woody_Stratum\\":null,\\"A_Per_Cover_Woody\\":null,\\"Dom_Species_Woody\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Woody_Stratum_Plot\\":null,\\"Woody_Stratum\\":null,\\"A_Per_Cover_Woody\\":null,\\"Dom_Species_Woody\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}}]},{\\"attachments\\":[null,null,null,null,null,null,null,null],\\"id\\":\\"$Soil_Profile_Description\\",\\"adds\\":[{\\"attributes\\":{\\"Soil_Matrix_Depth\\":\\"6\\",\\"Soil_Matrix_Color\\":\\"10Y/R 2/1\\",\\"Soil_Matrix_Percent\\":\\"100\\",\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":\\"Coarse_Sand\\",\\"Soil_Remarks\\":\\"Silty fine to coarse sand, dark brown\\",\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}},{\\"attributes\\":{\\"Soil_Matrix_Depth\\":null,\\"Soil_Matrix_Color\\":null,\\"Soil_Matrix_Percent\\":null,\\"Soil_Redox_Color\\":null,\\"Soil_Redox_Percent\\":null,\\"Redox_Type\\":null,\\"Redox_Loc\\":null,\\"Soil_Texture\\":null,\\"Soil_Remarks\\":null,\\"<myform\\":\\"{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}\\"}}]}]"', 3)
-----------------
{'attachments': [[{'editMode': 0, 'fieldName': 'Photo_1', 'fileName': 'Photo_1-20180321-204554.jpg'}, {'editMode': 0, 'fieldName': 'Photo_2', 'fileName': 'Photo_2-20180321-204609.jpg'}, {'editMode': 0, 'fieldName': 'Photo_3', 'fileName': 'Photo_3-20180321-204620.jpg'}, {'editMode': 0, 'fieldName': 'Photo_4', 'fileName': 'Photo_4-20180321-204814.jpg'}]], 'id': '%myform', 'adds': [{'attributes': {'Veg_Tree_Repeat_count': '4', 'Veg_Sapling_Repeat_count': '5', 'Veg_Herb_Repeat_count': '10', 'Veg_Woody_Repeat_count': '2', 'Soil_Profile_Description_count': '8', 'Sample_Date': 1521615600000, 'sample_type': 'Sample_Point', 'Sample_Point': 'SP-5', 'Investigators': 'Other', 'Other_Investigator': 'R. Tobias', 'Landform': 'Depression', 'Local_Relief': 'Concave', 'Slope_Class': '0-5', 'Bare_Ground': '20', 'Hydric_Soil_Ind': 'Thick_Dark_Surface', 'Restrictive_Layer': 'No', 'Hydric_Soil_Present': 'Yes', 'Remaks_soils': 'Saturation at 6 inches', 'Hydro_Indicator': 'Surface_Water,High_Water_Table,Saturation,Water-Stained_Leaves', 'Hydro_SW_Present': 'Yes', 'Hydro_WT_Present': 'Yes', 'Hydro_WT_Depth': 6, 'Hydro_Wet_Present': 'Yes', 'Hydro_Remarks': 'Wetland B', '>Veg_Tree_Repeat': '{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}', '>Veg_Sapling_Repeat': '{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}', '>Veg_Herb_Repeat': '{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}', '>Veg_Woody_Repeat': '{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}', '>Soil_Profile_Description': '{ca4b964a-0bf4-4004-a4f0-180e1375c3bf}'}, 'geometry': {'spatialReference': {'wkid': 4326}, 'x': -117.60430254451438, 'y': 47.64294090447325, 'z': 730.9949951171875}}]}
('Wetland Determination Beta', None, 3)
-----------------
But then returns this error: Traceback (most recent call last): File "readDb.py", line 102, in <module> surveys = readS123db(inDB) File "readDb.py", line 24, in readS123db jTransaction = json.loads(json.loads(row[1]))[0] File "/Users/zeigert/miniconda3/lib/python3.6/json/__init__.py", line 348, in loads 'not {!r}'.format(s.__class__.__name__))TypeError: the JSON object must be str, bytes or bytearray, not 'NoneType' My python knowledge is meager at best. Any ideas?
... View more
08-14-2018
02:36 PM
|
0
|
6
|
686
|
POST
|
That looks promising. What is the workflow for this like? The data is still on the device (iOS). How do I get it off of the device?
... View more
08-14-2018
01:31 PM
|
0
|
8
|
686
|
POST
|
What happened: 1. We've been developing several surveys on Survey123 and testing with beta users. 2. One of our users downloaded a "beta" survey to their device. 3. We then deleted that "beta" survey from arcgis online. 4. The user then (mistakenly) collected a bunch of data using the downloaded "beta" survey, which is now orphaned. "It says invalid URL when I try to sync." Is there any way to retrieve that data from the device?
... View more
08-14-2018
11:55 AM
|
0
|
10
|
966
|
POST
|
I'm trying to build a custom widget using the typescript setup as described in Create a custom widget | ArcGIS API for JavaScript 4.7. Here's the essence of what the widget does: 1. User sees a map, and can click anywhere to add points. 2. Points are added to a local graphics collection, which is used as source for default layer. 3. That layer is passed to the widget, which then should render a list item for each feature in the collection. The problem: My individual <li> elements are not rendering correctly. In my widget code, I am using a private method to render the individual <li> items, although this seems unnecessary. (It also didn't work to render them directly inside the .map() method.) Here's the code that seems to be giving me problems: // Public method
render() {
return (
<div>
<ul>
{this.layer.source.map((feature, index) => {
let item = this._renderItem(feature, index);
console.log('item', item)
return item;
})}
</ul>
</div>
);
}
// Private method
private _renderItem(feature, index): any {
console.log('feature', feature.get('attributes'))
return <li key={index}>{feature.get('attributes').name}</li>
} If I console log "item" on line 8, it gives me an object like the following: {
"vnodeSelector": "li",
"properties": {
"key": 2
},
"text": "test 3",
"domNode": null
} I am expecting a dom node instead. So my widget renders a <ul> filled with [object Object] strings. I'm not sure what I'm doing wrong. I tried to mimic the way that other widgets use .map() (for example in this one arcgis-js-api/Feature.tsx at 4master · Esri/arcgis-js-api · GitHub ). I'll attach the whole app if anyone is interested in taking a look. Feeling kinda stuck. It's written in typescript. Run npm install and then run npm run dev to start the typescript compiler, then open index.html in a browser or host with something like http-server. I'm still learning typescript, so there are some compiling errors, but I don't think that has anything to do with my problem. Thank you to anyone who's read this far!
... View more
06-14-2018
12:28 PM
|
0
|
1
|
641
|
POST
|
That makes sense. Although I only recently added the new calculated fields. Before that, the repeats still had repeat_counts and were set to minimal, but we weren't getting those extra blanks records. I'll do some experimenting.
... View more
01-10-2018
09:10 AM
|
1
|
0
|
2718
|
POST
|
The calculation isn’t inside the repeat, it’s in a field later in the form. The repeats don’t have any calcs within. Still expected?
... View more
01-09-2018
09:06 PM
|
0
|
2
|
2718
|
POST
|
I've noticed this behavior as well. It seems to have started when I tried to use a field from the repeats in a later calculated field. Basically, "calculate total x for all repeats". Now records for all repeats up to the repeat_count setting are being created, which creates a lot of empty rows in a table on our report.
... View more
01-09-2018
08:07 PM
|
0
|
4
|
2718
|
POST
|
I've been trying to set up a simple esri-leaflet web application that sends a request to the ArcGIS Online Summarize Elevation service. In order to avoid sending my client ID and secret across the wire, I have set up a simple ArcGIS Online Hosted Proxy, following the instructions found here: Working with Proxy Services | ArcGIS for Developers I am using the esri-leaflet-gp plugin to submit my geoprocessing tasks and process the results. My task: var elevationService = L.esri.GP.service({
url: "http://utility.arcgis.com/usrsvcs/appservices/tGgqVVoHpHacidEV/rest/services/Tools/Elevation/GPServer/SummarizeElevation",
async: true,
path: 'submitJob'
}); I then create new tasks like so, where marker is a standard leaflet marker and elevationTaskCallback is a function that does stuff with the results: var elevationTask = elevationService.createTask();
elevationTask.setParam('DEMResolution', 'FINEST');
elevationTask.setParam('InputFeatures', marker.toGeoJSON());
elevationTask.setParam('IncludeSlopeAspect', false);
elevationTask.setOutputParam('OutputSummary');
elevationTask.run(elevationTaskCallback); The service task then submits a geoprocessing task and polls every second for the status. Once the status is 'esriJobSucceeded', the resulting output is sent to my callback. The problem is, that status check is sometimes returning an error, which is weird, and breaks the esri-leaflet-gp code a little. I've isolated a few tasks and I honestly can't figure out why it produces an error so often. Here is an example job status request generated by my code that you can paste into a browser: http://utility.arcgis.com/usrsvcs/appservices/tGgqVVoHpHacidEV/rest/services/Tools/Elevation/GPServer/SummarizeElevation… If you refresh a few times, you should see the 400 error return sometimes, and a completed task message return other times. I would love to know how I could fix this so it returns the status consistently. NOTE: This endpoint will eventually be locked down using an application referrer whitelist, but I've left it open temporarily in the hopes that someone can help me debug.
... View more
09-19-2017
04:32 PM
|
0
|
0
|
667
|
Title | Kudos | Posted |
---|---|---|
1 | 01-10-2018 09:10 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:25 AM
|