Jump to content

Need Advice on how to get user feedback


storme
 Share

Recommended Posts

G'day All

I'm writting a tray utility to help out my customers. It'll just be a right click menu that runs usefull utilites for them. To keep the menu slim all items will be external in .a3x files.

One of the ideas I'm implementing is a "screen capture -> send to tech" menu option.

Pretty easy to implement the capture thanks to AutoIT but when it comes to sending the file to me there are too many options :graduated: and I'd like some advice.

In most cases the screen dump won't be needed immeditaly so speed isn't a problem and I'd like to give the option of adding a small text message to the capture so it won't only be the capture that needs to be sent.

My immediate thought was Email however I need an SMTP server to send through and they could be connected to any Australian ISP.

Maybe I could set up a generic Gmail account to be used to send from but if it's hacked then I'd have to update all the scripts.

So it's a possible but I can see a few possible problems.

Anyone tried this? What has been your exsperience? Am I worrying over nothing?

The other options are

FTP to a server - Possible hacker problems.

DropBox - Never used it, have no idea how to use it from Autoit

???? - Any other ideas

For any of these options I'm going to bring up a small GUI with a textbox for a message (problem description) and a timeout function so the screen shot gets sent even if the user can't click the send button.

Thanks for the advice.

John Morrison

Link to comment
Share on other sites

I haven't used it myself (the API I mean) but Dropbox has an API which you could sign up for and use WinHTTP.au3 (search the forum) to interact with.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I haven't used it myself (the API I mean) but Dropbox has an API which you could sign up for and use WinHTTP.au3 (search the forum) to interact with.

Hmm doesn't look too promising just yet

A quick note for desktop developers looking into the Dropbox API: we aren't yet officially supporting desktop applications

But they do go on to say that they have long term plans. Maybe later.

I think for the moment and to get it going I'll go with the Gmail

or

Maybe loop through a list of Australian email servers till I hit the one that works.

If it doesn't work then step onto the next item.

If I store the last one that worked it'll only need to change if they change ISP.

Thanks for your time!

John Morrison

Edited by storme
Link to comment
Share on other sites

Why not use this from Jos

I managed to get a working copy going so if i can do it im sure you can :graduated:

It also covers attachments and gmail so covers most of what you need.

maybe hide the details bit for the email in a dll or somewhere where they would never look on the system, possibly in diff places email addy and some bits in system, pass in somewhere else.

If they are separate to your main prog you can make an easy updater to replace the files without them knowing when you run it.

Chimaera

Edited by Chimaera
Link to comment
Share on other sites

Initial thoughts are these.

Upload screenshot to some public host (imageshack maybe, or as a file to some other host)

HTTP POST or even GET to your website php script, with the link to the upload, the message, and any other customer details.

Your php script logs the data.

That's about it I think, no passwords involved in au3 script.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Why not use this from Jos

Yep already been there done that :graduated: Well it wasn't that thread but the saem code. ;)

If anyone is interested this works for sending from Gmail

#include "SmtpMailer.au3"
 Local $s_SmtpServer = "smtp.gmail.com" ; smtp??? address for the smtp-server to use - REQUIRED
 Local $s_FromName = "[email="allhomecomputing@gmail.com"]{Your Name}[/email]" ; ????? name from who the email was sent
 Local $s_FromAddress = "[email="allhomecomputing@gmail.com"]{Your Address}@gmail.com[/email]" ; ???????address from where the mail should come
 Local $s_ToAddress = "{Who you want to send it to[email="jmorrison@ahc.net.au"]}[/email]" ; ?????? destination address of the email - REQUIRED
 Local $s_Subject = "autoittest" ;???? subject from the email - can be anything you want it to be
 Local $as_Body = "autoittest" ; ????the messagebody from the mail - can be left blank but then you get a blank mail
 Local $s_AttachFiles = "{Full path of file to sent}" ; ???? the file you want to attach- leave blank if not needed
 Local $s_CcAddress = "" ; address for cc - leave blank if not needed
 Local $s_BccAddress = "" ; address for bcc - leave blank if not needed
 Local $s_Username = "{Your FULL GMAIL email address}" ; ??? username for the account used from where the mail gets sent - REQUIRED
 Local $s_Password = "{Your Gmail password}" ; ??password for the account used from where the mail gets sent - REQUIRED
 Local $IPPort = 465 ; yidabu.com??:Gmail???????
 Local $ssl = 1 ; REQUIRED for Gmail
 
 ;Global $oMyRet[2]
 ;Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
 Local $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
 ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
 If @error Then
  MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
 EndIf

maybe hide the details bit for the email in a dll or somewhere where they would never look on the system, possibly in diff places email addy and some bits in system, pass in somewhere else.

The TO address I'm not worried about at all

However, if I'm forced to use Gmail then the password will be in plain sight. ;)

I'm hoping that Plan A (Well it is now :) ) will work

Plans A

The program has a list of outgoing (SMTP) Australian servers that don't require user credentails.

One of them should be compatible with the ISP they are using.

Plan B

IF it doesn't work then I'll put out an upgrade using a GMAIL account and work out ways of hiding the password as you suggest.

Plan C

A "write only" FTP server. Though my current server doesn't have a big capacity so I may have to upgrade. :D

Plan D

A "Write only" FTP served at home. Problems if I go off the air for any lenght of time. However, it is under my control.

Plan E

DropBox when the API is done. ???

Thanks for the info

John Morrison

Link to comment
Share on other sites

Initial thoughts are these. Upload screenshot to some public host (imageshack maybe, or as a file to some other host) HTTP POST or even GET to your website php script, with the link to the upload, the message, and any other customer details. Your php script logs the data. That's about it I think, no passwords involved in au3 script.

Hmmm never used public image hosts so never even gave it a thought.

The only negative for that is they are public servers and I have no idea what could be on the screens. My customers maybe unhappy if their bank accoutn details or whatever are put up somewhere they can easily be seen.

Unless these servers offer a write only option so it goes in but only I can get it out.

Thanks for the info I'll look into it.

John Morrison

Link to comment
Share on other sites

Yes that is a worry if there is sensitive info in a screenshot.

You could simply use your own site and database in that case, the only passwords involved would be those of your customers in order to to allow the image and message upload, which of course would not need to be hard coded, but encrypted tested for authenticity in your database.

http post [password] [image] [message] if password authenticated, them image and message are uploaded and logged respectively.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Yes that is a worry if there is sensitive info in a screenshot.

You could simply use your own site and database in that case, the only passwords involved would be those of your customers in order to to allow the image and message upload, which of course would not need to be hard coded, but encrypted tested for authenticity in your database.

http post [password] [image] [message] if password authenticated, them image and message are uploaded and logged respectively.

My web Site is very basic as it's been around for years, no database.

I've been hesitant to centralise everything on here (home) because I'm on ADSL and if it goes down then everthing is off the air.

Email to an external server seemed to be a good idea to avoid this.

BUT maybe I'll have to bite the bullet and get everything set up here and ignore the MAYBE break downs....

I haven't played with Apache for a long time but that should be good place to start. Should be fun... :graduated:

I've got the script 1/2 written useing EMail so I'll get it done that way then look at makeing the small mode to redirect where to send the reposts to.

Thanks for teh advice

John Morrison

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...