Battler45 / SierraMigrationToGitHub

Migration from unfuddle to GitHub
0 stars 0 forks source link

Export to Craigs List Functionality #186

Open Battler45 opened 4 years ago

Battler45 commented 4 years ago

Vihar,

Along with the manually uploaded listings and the XML syndication (that George is working on), the last piece of new functionality we need to add for the HuffRealtyRentals.com site is the ability to export Featured Listings and Manually Uploaded Listings to CraigsList.org.

CraigsList.org is the largest classified advertising network in the US, and many of our clients (not just Huff) are eager to have the ability to export their listings to it -- this is also a feature that many of our competitors already offer.

CraigsList.org does not offer an API or a way to export directly to their platform. Instead, each post on CraigsList.org must be created manually by the user by hand, and so what we will provide for them is the ability to copy HTML generated for one of their listings by our system to their clipboard so that they can then paste this into the listing creation form on CraigsList.org to help them quickly and easily post the listing.

Here are links to a few listings that the client currently has on Craig's List:

(These are temporary postings and will eventually expire, and so I've also attached screen captures of these posts.)

The client is currently using a service called vFlyer.com to manage their manual listings and produce their Craigs List postings, and we basically want to emulate the functionality they have with vFlyer.com (the client plans to drop that service eventually, once our new site goes live).

Here is the login info for the client's vFlyer account:

Username - Huffrental@gmail.com Password - RockAndRoll20122013

Please log in there and play around to review the Craigs List posting functionality there, as that is what we will want to emulate. Actually, I just logged in and noticed that the client does not currently have any flyers created. So, please login using bpeskoe@yahoo.com / b3nb3n, which is a test account that I set up. There is one flyer there -- go to "Flyers" in top menu.

Once logged in, go to Edit Listing and scroll down -- you'll see a "Choose Theme" section. The themes in the select box are the ones that vFlyer has available by default for all clients, and we will want to do something similar, but we will only need 2-3 themes to start, rather than dozens.

If you click the "Preview" link, you'll see an example of what the flyer would look like when published to craigs list (at top left, change select box from Property Website to Craigslist Template).

If you then click yellow "Republish" button, you'll see the mechanism that vFlyer provides the user for exporting to Craigslist -- they have a text area which includes all of the necessary HTML for the listing flyer, with links below for "How to post to Craigslist", "Launch Craigslist," and "Copy HTML."

Those are the essential elements of what we will need to do for the client via the CAA, though our workflow and presentation will probably be fairly different.

Here are my initial thoughts & comments:

1 - In the CAA now, we have a "Listings (Manual Uploads)" navigation item which is specific to the manually uploaded listings functionality. Because our clients need to have the Craigslist posting ability for both manually uploaded listings and also their featured listings, I think we should change this navigation button to "Listings (Your Listings)". On mouseover, a drop-down menu would appear with the sections, "Manual Listings Manager" and "Featured Listings Manager".

2 - The links in the Manual Listings Manager would be the same the ones there now in the drop-down menu. The links in the Featured Listings Manager would be "Current Listings"

3 - In the Manual Listings Manager home page, we will add a link or button to use the Craigslist functionality for each listing (more on that later) -- I'm not sure if this should be a separate page, or a tab within the edit listing page, but I'm thinking either an overlay or a separate page, because we will want to re-use the same functionality for the Featured Listings.

4 - In the Featured Listings Manager home page, it will look basically like the current page here: http://client.sierrainteractivedev2.com/featured-listings.aspx (and will, in fact, replace that page). We are going to merge the three map-centered columns currently on that page into one column (more on that later) so that we have room to add a button for the export to Craigslist functionality.

I think this approach will make more sense to clients in general, because it will consolidate all of their listings in one place (manual and featured), and will allow us to build in more functionality around this topic (reports for sellers on their listing activity, etc.) as time goes on.

So, when you are ready, please take a look at the export to craigslist topic and begin thinking about the database-specific requirements (to host the templates, to host the associations between specific listings and specific templates, to keep track of the dates on which listings are exported to craigs list by users, etc.), and let me know what questions you have.

Thanks.

Posted by Shah Vihar(unfuddle username: vshah)

Battler45 commented 4 years ago

Ben,

Thanks for the feedback.

A couple of points:

1 -- The programming is in place to automatically update the html when title is set / changed. When the focus is moved out of the "Title" field, the html would be re-generated and previewing it should reflect the change in title. Can you pls let me know the use-case when this didn't happen?

2 -- In my question #3 I actually intended to ask if I can extend / change the current test-templates and use them to create templates for production. Per your feedback I understand that it would be fine to use them in production by making changes listed in points 3 to 8.

I'll make necessary changes and update you on the same. I'll then start working on the Sold data ticket.

Thanks. Posted by Shah Vihar(unfuddle username: vshah)

Battler45 commented 4 years ago

Ben,

RE. copying HTML to clipboard functionality - there are two possible approaches to handle this.

1 -- to use basic JavaScript feature for copying contents - due to end-user security copying to clipboard is prohibited by majority of the browsers but IE does provide a JavaScript method to copy contents to clipboard. We can use this to provide a basic copying functionality to users. If user is using a non-IE browser then HTML contents would be selected and user would be asked to copy contents manually (Ctrl + C). Pls note that vFlyer appears to have implemented this approach.

2 -- to implement advanced, cross-browser solution - there are open-sources libraries available, which internally make use of flash to implement cross-browser copy-to-clipboard support. https://github.com/jonrohan/ZeroClipboard is one such library.

Pls let me know if implementing first approach would be fine for now.

Thanks.

Posted by Shah Vihar(unfuddle username: vshah)

Battler45 commented 4 years ago

Vihar,

1 - Yes, you are correct. If "Include First Photo Only" option is selected, then the photo gallery would not be included in the page -- the first photo would be included to the left of the property description, but that is all. I do agree that your suggested change in wording would be better -- let's go with an "Include Photo Gallery" label with radio button options for Yes and No, with Yes being the default selection.

2 - Yes, that's correct. However, we do want to specify a max-width on these photos of 600px when displayed.

3 - Regarding the placeholders, I believe we do need a few more:

4 - The BEDROOMS value should take into account BedsStudio and BedsLoft from MLS table. When Loft is true, BEDS value should be, for example, "4 + Loft". When Studio is true, Beds value should be "Studio" (replacing any other Beds value).

5 - The BATHROOMS value should take into account both BathsFull and BathsHalf as in, for example, "3 Full / 2 Half". If only Baths value is present for a listing and both BathsFull and BathsHalf are NULL or 0, then the value would be displayed as "3" (without indication of Full or Half).

6 - The Listing Agent Name & Listing Office Name would both (most likely) not be displayed in the Craigslist post. Because client will only have the ability to generate these posts for their own featured listings, the MLS Listing Agent & Listing Office would not be required to be displayed.

Thanks.

Posted by Peskoe Ben(unfuddle username: bpeskoe)

Battler45 commented 4 years ago

Vihar,

Sorry for the delay responding on this ticket.

1 - Yes, we would need to have a few different templates / layout options available. Perhaps, for color scheme, we could pull values in the same way that the property search pages do, using the values from the Site Styles & Layout form. So, the options available to the client would be different in terms of layout, but they would not have the ability to change colors (at least not at first).

Then, for reasons described below, we also need to have a "custom template" option available on a site-by-site basis. The reason I believe we need this custom template option is that, in the example flyer provided by the client, there is a client-specific header to the page (huff realty). The only way I see for us to implement such a header would be via a custom template system, and I believe we do need to have that ability to satisfy the requirement in this case.

That said, I think we can implement this in the most simple and straightforward way possible -- by not allowing the client any ability to add, edit or delete such templates.

So, in reality, a "custom" template would differ from a standard template only insofar as it is available / visible to a single site, rather than to all sites for whom Craigs List funcitonality is enabled. We as admins will be the only ones who can set up such custom templates (manually), and we will be the only ones with the ability to edit or delete them.

This should satisfy the requirement of allowing the cient to have a custom template without the need for a lot of extra programming to enable clients to create or edit these on their own.

2 - Yes, that's a good idea. So, in the Huff example, we could set their custom template as the default, but they would also be able to select one of the "Global" templates if they wanted. It would also be good to set this association in a table for future usage. In addition to the template associated with a particular listing, we are also going to want to store the date on which the listing was last exported to a template (so that we can remind the user to re-post the listing to Craigslist after it expires in a certain amount of time -- more on that later). So, in setting this association, there will need to be a "Save / Update" button -- when clicked, this will set the association between the listing and the selected template, and it will also set the "Date Last Exported" field at the same time.

I'm going to post this now so that you can begin reviewing / working on this if you are ready, and I will post my answers to your final two points in a separate comment.

Thanks. Posted by Peskoe Ben(unfuddle username: bpeskoe)

Battler45 commented 4 years ago

Vihar,

Yes, your understanding is correct, thanks, and the plan to create tables looks good.

1 - Yes, it would be fine to add these associations manually for now.

2 - At least one photo would always be included, but perhaps we also need to consider a use-case where the user might only want to include one photo, rather than all photos. Perhaps, in the template selection section of the page, the user could be allowed to set this? So, there would be a set of radio buttons "Include All Photos" (selected by default) or "Include First Photo Only". That would then be stored in CAA_MLSExportTemplates along with the other values.

Thanks. Posted by Peskoe Ben(unfuddle username: bpeskoe)

Battler45 commented 4 years ago

Vihar,

Great, thank you, I will review these and let you know. Regarding next task, I actually realized we do have one item that is more pressing than the sold data -- that would be the changes to the way that market statistics are implemented / calculated.

If you could review Ticket #124, comments 14-17 you'll see that Vihang and I had a discussion regarding the way that market statistics are calculated. It would be good if, in place of the current system, we could tie this in with the SavedSearches table to allow more flexibility and multiple criteria for the calculation of statistics.

Can you review that and let me know if you have any questions? This would actually be the highest priority for us right now, as we will need to have this implemented in order to complete the HighlandsLouisvilleRealEstate.com site and get it up and running.

It may be best to copy those comments to a new ticket or to the existing market statistics ticket.

Thanks Posted by Peskoe Ben(unfuddle username: bpeskoe)

Battler45 commented 4 years ago

Ben,

The approach you've suggested to club listing-specific pages under single group sounds good. My thought is that it would be good to add a button, which will redirect users to a separate page. This button could be added under the "Action" column in both the featured-listings and manage-listings pages.

A few points:

1 -- The vFlyer service provides an option for users to choose from different layouts. I'm not sure if we would offer similar options. My understanding is that we would create a few templates, which could be different in terms of color-schemes and / or layouts. That should provide users with sufficient choices.

2 -- I believe it would be good to allow users to set default listing template on per-site basis. This will eliminate the need for users to set template every time a new listing is to be processed. In addition, once a listing is associated with a template, that association would be stored in a table for future usages.

3 -- My thought is that listing template can have the following sections / groups:

When user chooses to generate html for a listing, he would be redirected to a new page (listing-export.aspx or craigslist-export). This page would be fairly similar to the community-pages-wizard.aspx page in that it would have the following sections

a -- Template Selection containing a dropdown listing all existing listing templates. If the listing as already been processed, its associated template would be selected; otherwise site's default template would be selected.

b -- Listing Header / Title - this will have two input controls. The first one will allow user to choose image to be included in the header (by default it would be populated with site's default header image). The other input control will allow users to set listing title (it would be by default populated based on the template settings)

c -- HTML Box - it will have a textarea containing the html generated based on the "detail / info box" and "image box" template code and listing details. It will also have buttons to preview listing and copy html.

4 -- The listing-template management would be an admin-only feature. Primary-manager or below will not be able to create / change templates. The "manage listing templates" and "add / edit template" pages could be similar to the existing template-pages.aspx and template-page-form.aspx pages respectively.

Pls let me know your thoughts on the same.

Thanks.

Posted by Shah Vihar(unfuddle username: vshah)